我試圖比較在表1中的兩列和在同一個表中更新的行1.TSQL列上的比較樣品表和更新行
樣品表
表1與列A,B,C, d
A B C D
-------
X 1 X 0
X 2 X 0
X 3 Y 0
Y 4 X 0
IF的列A和C是不同的,那麼我需要與B列值和更新乘以2 d列中的相同的表。
所需的輸出
A B C D
-------
X 1 X 1
X 2 X 2
X 3 Y 6
Y 4 X 8
一些能幫助一個與這個TSQL查詢嗎?
我試圖比較在表1中的兩列和在同一個表中更新的行1.TSQL列上的比較樣品表和更新行
樣品表
表1與列A,B,C, d
A B C D
-------
X 1 X 0
X 2 X 0
X 3 Y 0
Y 4 X 0
IF的列A和C是不同的,那麼我需要與B列值和更新乘以2 d列中的相同的表。
所需的輸出
A B C D
-------
X 1 X 1
X 2 X 2
X 3 Y 6
Y 4 X 8
一些能幫助一個與這個TSQL查詢嗎?
試試這個
UPDATE Table1
SET ColumnD = CASE WHEN ColumnA!=ColumnC THEN ColumnB*2 ELSE ColumnD END
謝謝它的工作。我試過下面 UPDATE table1的 SET d = CASE當A = C則B ELSE 3 * B END – user2380911
然後標記的任何職位的答案來解決這個線程。 :) –
爲什麼是最後一排的8所希望輸出? A和C都是一樣的。 –
我已經更新了。列A和C對於最後一行是不同的 – user2380911
列'A'和/或'C'是否可以爲空?如果是的話,應該如何處理空值? –