假設我有一個表「的Emp」如何檢查特定組中的每個值並設置標誌狀態?
Dpt_ID | E_ID | E_Status
A1 | 00200 | H
A1 | 00200 | M
A1 | 00400 | H
A1 | 00400 | M
A2 | 00300 | L
A2 | 00300 | M
A2 | 00400 | L
A2 | 00400 | L
數據需要根據Dpt_ID到分組,如果該Dpt_ID下任何E_ID具有狀態= H,則設置標誌=高。同樣,如果該Dpt_ID下的任何E_ID的狀態爲M,則設置標誌=中等否則爲低。
目前,我已經寫了下面的查詢,但與功能組將檢查僅第1行:
SELECT Dpt_ID,E_ID,E_Status,(CASE
WHEN E_Status = "H" THEN 'High'
WHEN E_Status = "M" THEN 'Medium'
ELSE 'Low'
END) AS Flag
FROM Emp
group by Dpt_ID
如何在Dpt_ID組檢查每個值,看它是否是H/M/L?
例如目標應顯示爲
Dpt_ID | Flag
A1 | High
A2 | Medium