根据ID匹配IN db2,从一个表到另一个表的SQL更新 [英] SQL update from one Table to another based on a ID match IN db2

查看:398
本文介绍了根据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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆