gpt4 book ai didi

db2 - 基于 db2 中的 ID 匹配,从一个表到另一个表的 SQL 更新

转载 作者:行者123 更新时间:2023-12-04 19:16:35 26 4
gpt4 key购买 nike

下面的查询适用于 SQL sErver。但是在 DB2 中它没有给出结果:

Error is  SQLCODE = -199, ERROR:  ILLEGAL USE OF KEYWORD FROM. 

询问:
UPDATE
Sales_Import
SET
Sales_Import.AccountNumber = RAN.AccountNumber
FROM
Sales_Import SI
INNER JOIN
RetrieveAccountNumber RAN
ON
SI.LeadID = RAN.LeadID

有人可以澄清 b/w DB2 和 SQL 查询的区别吗?

最佳答案

DB2 确实支持 UPDATE 语句中的连接,只是不是您想的那样——DB2 遵循 SQL ANSI 标准:

UPDATE
Sales_Import SI
SET
Sales_Import.AccountNumber = (
SELECT
RAN.AccountNumber
FROM
RetrieveAccountNumber RAN
WHERE
SI.LeadID = RAN.LeadID
)

以上假设 LeadID唯一标识 RetrieveAccountNumber 中的记录,否则您将收到错误消息,因为子查询将返回多行。

编辑:

如果在 RetrieveAccountNumber 中没有匹配的记录,请处理下面的评论可以找到, Sales_Import.AccountNumber将被设置为空。如果这是不可取的,可以使用 COALESCE()分配一个默认值。

关于db2 - 基于 db2 中的 ID 匹配,从一个表到另一个表的 SQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23285136/

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