我有一個類似于下面示例的表格,其中包含每個用戶的用戶 ID 和狀態。
User_ID Status
123 Healthy
123 Rich
123 Studied
456 Sick
456 Rich
678 Sick
678 Rich
678 Studied
910 Rich
910 Studied
我需要在 SQL Server 中將狀態列轉換為三個標志列,并洗掉任何重復的用戶 ID 行,如下表所示,因此如果用戶在上一個表中沒有記錄,則他們的標志將為“否”。有什么建議嗎?
User_ID Healthy Rich Studied
123 Yes Yes Yes
456 Yes Yes No
678 Yes Yes Yes
910 No Yes Yes
uj5u.com熱心網友回復:
select
user_id,
max(case when Status='Healthy' then 'Yes' else 'No' end) as healthy,
max(case when Status='Rich' then 'Yes' else 'No' end) as rich,
max(case when Status='Studied' then 'Yes' else 'No' end) as studied
from input
group by user_id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/327549.html
標籤:sql sql-server
下一篇:如何使用來自不同行的資訊連接表?
