我試圖完成什麼,我相信基於選擇一個非常簡單的情況下更新SQL兩個不同的列:SQL案例更新兩個不同的列基礎上選擇
PROD_TB
:
Product_Code Reg_Price Sale_Price
A 1000 2000
PRICE_TB
:
Product_Code Type Price
A REG 3000
A SALE 4000
期望的更新結果:
PROD_TB
:
Product_Code Reg_Price Sale_Price
A 3000 4000
我嘗試:
UPDATE PROD_TB
SET Reg_Price = CASE
WHEN PRICE_TB.Type = 'REG'
THEN PRICE_TB.Price
ELSE Reg_Price
END,
Sale_Price = CASE
WHEN PRICE_TB.Type = 'SALE'
THEN PRICE_TB.Price
ELSE Sale_Price
END
FROM
PROD_TB
JOIN
PRICE_TB ON PROD_TB.PRODUCT_CODE = PRICE_TB.PRODUCT_CODE
運行上面的SQL僅更新正常價格,而不是銷售價格。 SQL不支持這些類型的更新查詢嗎?還是我犯了一個基本的錯誤?
您需要刪除第二個'set'和使用' ,而不是那個。 – 2015-02-09 08:54:20
你應該只使用一個「set」,比如:update table set col1 = a,col2 = b,col3 = c ... – 2015-02-09 08:54:22
Woops。我創建簡單例子的錯誤。修正了 – l46kok 2015-02-09 08:55:00