gpt4 book ai didi

sql-server - 从另一个连接列更新列,,

转载 作者:行者123 更新时间:2023-12-04 05:02:56 24 4
gpt4 key购买 nike

首先,DB'es 应该很容易,但它真的让我很痛苦,我不知道为什么,,

我有两个表,名为 Applicationforms 的 [Table1] 和名为 WFInstance 的 [Table2]
我需要使用表 2 中的开始日期值更新表 1 中的 FormSubmitDate
其中 FormSubmitDate 为空。
我写了以下查询

UPDATE    ApplicationForm
SET FormSubmitDate = wfi.StartDate
FROM ApplicationForm app ,
WorkFlowInstances wfi

WHERE app.FormSubmitDate is null and wfi.applicationID = app.ID

当我运行查询时,SQL 将查询重新生成到这个查询,
UPDATE    ApplicationForm
SET FormSubmitDate = wfi.StartDate
FROM ApplicationForm AS app INNER JOIN
WorkFlowInstances AS wfi ON app.ID = wfi.ApplicationID CROSS JOIN
ApplicationForm
WHERE (app.FormSubmitDate IS NULL)

我尝试使用 join 编写另一个语句,
UPDATE ApplicationForm
SET FormSubmitDate = wfi.StartDate
FROM ApplicationForm
JOIN WorkFlowInstances wfi ON ApplicationForm.ID = wfi.ApplicationID
WHERE FormSubmitDate is null

并且 SQL 生成相同的新语法,

现在,当我运行代码时,[所有记录] formSubmitDate 字段填充了第二个表 startDate 的第一个值。即使我有一条记录在 table1 中包含空值

我在这里缺少什么!?

最佳答案

我认为这可以满足您的要求。试试吧,让我们知道。

UPDATE tabl3
SET formsubmitdate=(SELECT startdate
FROM table4
WHERE table4.id=tabl3.id AND tabl3.formsubmitdate is null);

写同样的东西的另一种方法是
UPDATE tabl3
SET formsubmitdate= startdate
FROM table4 where tabl3.id = table4.id and formsubmitdate is null

关于sql-server - 从另一个连接列更新列,,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15894782/

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