我有以下查询
UPDATE mainList
INNER JOIN custToList D
ON l.custToList_id = d.custToList_id
INNER JOIN dealert dt
ON d.dealert_id = dt.dealert_id
INNER JOIN markList m
on m.markList_id = d.markList_id
SET EXPIRATION_TIMESTAMP = CURRENT_TIMESTAMP
where dt.custNum = 2;
但是它告诉我第一个“内部”无效? db2 中的更新不能进行内连接吗?
最佳答案
我认为 DB2 不支持 UPDATE
中的 JOIN
。在您的情况下,通过将过滤移至 WHERE
子句即可轻松解决此问题:
UPDATE mainList l
SET EXPIRATION_TIMESTAMP = CURRENT_TIMESTAMP
WHERE EXISTS (SELECT 1
FROM custToList D INNER JOIN
dealert dt
ON d.dealert_id = dt.dealert_id INNER JOIN
markList m
ON m.markList_id = d.markList_id
WHERE l.custToList_id = d.custToList_id AND dt.custNum = 2
);
关于sql - 在 db2 中使用多个内部联接进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52338836/