gpt4 book ai didi

mysql - 需要一些更新脚本方面的帮助

转载 作者:行者123 更新时间:2023-11-30 00:26:19 25 4
gpt4 key购买 nike

我想做的是编写一些sql代码来根据该表中依赖于另一个表值的值来更新表。

我有 2 个表 1)名称 2)CSAL

名称表有 2 列,我关心 ID 和 CO_ID,ID 是关键字段,CO_ID 显示一条记录是另一条记录的子记录。

CSAL 表的 MunExpressConsent 值可以是 1 或 0

我想要做的是,如果父记录在 CASL 表中的值为 1,我想更新名称表中该 ID 为 CO_ID 的所有记录,以获取 MunExpressConsent 字段中的值 1 CSAL 表。

我尝试过这个但不起作用:

UPDATE CASL
SET MunExpressConsent = 1
FROM TEST_AMO.dbo.CASL CASL,
TEST_AMO.dbo.CASL CASL_1, TEST_AMO.dbo.Name Name, TEST_AMO.dbo.Name Name_1
WHERE Name.CO_ID = Name_1.ID AND Name_1.ID = CASL.ID AND
Name.ID = CASL_1.ID AND (Name_1.STATUS='a') AND (Name.STATUS='a')
and Name.CO_ID = Name_1.ID

感谢您的帮助

最佳答案

在阅读并重新阅读您的问题后,我相信您希望执行以下操作:

UPDATE [CASL]
SET [MunExpressConsent] = 1
FROM [CASL]
INNER JOIN [Name]
ON [CASL].[ID] = [Name].[ID]
WHERE [Name].[STATUS] = 'a'
AND [Name].[CO_ID] IN (
SELECT parentName.[ID]
FROM [Name] AS parentName
INNER JOIN [CASL] AS parentCASL
ON parentName.[ID] = parentCASL.[ID]
WHERE parentName.[STATUS] = 'a'
AND parentCASL.[MunExpressConsent] = 1
)

这将更新 [CASL] 表中父记录为 [MunExpressConsent] = 1 的所有记录。

注意: 假定父子关系是通过以下关系在 [Name] 表中进行自引用(伪代码如下): 子记录 [CO_ID] 列等于父记录 [ID] 列

关于mysql - 需要一些更新脚本方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22845939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com