這個問題在這里已經有了答案: 在 Oracle 上使用內部聯接更新陳述句 15 個答案 2天前關閉。
UPDATE calculation
LEFT JOIN transportorders ON calculation.ataid = transportorders.nr
LEFT JOIN partner ON partner.taid = transportorders.nr
AND calculation.FZZAEHLER=ATAFRACHTZAHLER.FZZAEHLER
SET calculation.BABRECHNUNGSINFO = '.....'
WHERE calculation.ataid IN
(SELECT transportorders.nr
FROM transportorders
WHERE transportorders.tournr = '212041')
AND partner.kundenid = '2486909';
我正在嘗試這段代碼,但它給了我一個錯誤,即找不到 SET 關鍵字。這意味著聯接不是應有的樣子。如何在 UPDATE 中進行此選擇?常規 SELECT 適用于相同的表。
uj5u.com熱心網友回復:
嘗試merge:
MERGE INTO calculation c
USING (SELECT '....' new_value, t.nr
FROM transportoders t LEFT JOIN partner p ON p.taid = t.nr
WHERE t.tournr = '212041'
AND p.kundenid = '2486909') x
ON (c.ataid = x.nr)
WHEN MATCHED
THEN
UPDATE SET c.babrechnungsinfo = x.new_value;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/452528.html
