ID DepID Status
------------------
000 54 0
000 12 1
141 14 0
141 56 1
000 12 0
000 89 1
我有上面的表,其中我有depID
。以下是我需要的輸出:從sql列檢索數據通過將一列分爲兩個
ID DepOld DepNew
-------------------
000 54 12
141 14 56
000 12 89
狀態0表示其舊,1表示新狀態。考慮到它在一個表中,我如何獲得上述輸出?
我不能使用IN
子句。
我嘗試以下
SELECT
ID,
Max(CASE
WHEN Status = 0 THEN DepID
END) DepOld,
Max(CASE
WHEN Status = 1 THEN DepID
END) DepNew
FROM
tablename
GROUP BY
ID
但這輸出我得到
Id DepOld DepNew
--------------------
000 54 54
000 12 NULL
141 14 14
141 56 Null
如果我通過DEPID = 54那麼這個輸出是什麼,我想
ID DepOld DepNew
000 54 12
全自聯接與狀態字段的附加條件應該工作。 – Arvo 2014-11-04 13:59:38
有自動加入 – 2014-11-04 13:59:43
檢查您的數據。第1,2和5,6行的ID是否應該等於000?與建議的結果相同。 – anonxen 2014-11-04 14:05:30