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

查看:17
本文介绍了SQL 根据 db2 中的 ID 匹配从一个表更新到另一个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的查询适用于 SQL 服务器.但是在 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

有人可以澄清一下黑白 DB2 和 SQL 查询的区别吗?

Can someone please clarify the differences b/w DB2 and SQL queries.

推荐答案

我很确定(虽然我有一段时间没用过 DB2)DB2 仍然不支持更新语句中的连接,所以你需要使用 合并;

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;

类似这样的东西(因为我没有可用的 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

这篇关于SQL 根据 db2 中的 ID 匹配从一个表更新到另一个表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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