根据ID匹配IN db2,从一个表到另一个表的SQL更新 [英] SQL update from one Table to another based on a ID match IN db2
本文介绍了根据ID匹配IN db2,从一个表到另一个表的SQL更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面的查询适用于SQL sErver。但在DB2中,它不会产生结果:
The Query below is suited in SQL sErver. But in DB2 it does not give results:
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查询。
Can someone please clarify the differences b/w DB2 and SQL queries.
推荐答案
我很确定(虽然我没有在一段时间内使用DB2 ),DB2仍然不支持更新语句中的连接,因此您需要使用 MERGE ;
I'm pretty sure (although I've not used DB2 in a while) that DB2 still does not support joins in update statements, so you'll need to use MERGE;
这样的东西(freehanding it因为我没有DB2可用,所以可能会稍微关闭);
Something like this (freehanding it since I don't have DB2 available, so may be slightly off);
MERGE INTO Sales_Import si
USING (SELECT AccountNumber, LeadID FROM RetrieveAccountNumber) ra
ON (si.LeadID = ra.LeadID)
WHEN MATCHED THEN
UPDATE SET AccountNumber = ra.AccountNumber
这篇关于根据ID匹配IN db2,从一个表到另一个表的SQL更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文