[英]SQL function to download rows with specific values only
我有不同活動的重復 ID。 返回所有 ID,但刪除重復項,並返回名為 email 的三個新列,如果活動為(電子郵件(對於 email 列)、電話(對於電話列)、約會(對於約會列),則包含 true 的電話和約會), 否則為假。
我擁有的
ID | 活動 |
---|---|
101 | |
101 | 約定 |
102 | 活動 |
103 | 電話 |
104 | 約定 |
SELECT id,
MAX(CASE WHEN activity='Phone Call' THEN TRUE ELSE FALSE END) AS PhoneCall,
MAX(CASE WHEN activity='Appointment' THEN TRUE ELSE FALSE END) AS Appointment,
MAX(CASE WHEN activity='Email' THEN TRUE ELSE FALSE END) AS Email
| 104 | 活動 |
我想要的是
ID | 約定 | 電話 | |
---|---|---|---|
101 | 真的 | 真的 | 錯誤的 |
102 | 錯誤的 | 錯誤的 | 錯誤的 |
103 | 錯誤的 | 錯誤的 | 是的 |
104 | 錯誤的 | 是的 | 錯誤的 |
這應該是你要找的
SELECT id, MAX(CASE WHEN activity='Email' THEN 'True' ELSE 'False' END) AS Email, MAX(CASE WHEN activity='Appointment' THEN 'True' ELSE 'False' END) AS Appointment, MAX(CASE WHEN activity='Phone Call' THEN 'True' ELSE 'False' END) AS 'Phone Call' FROM {your_table_name} GROUP BY id;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.