簡體   English   中英

SQL function 僅下載具有特定值的行

[英]SQL function to download rows with specific values only

我有不同活動的重復 ID。 返回所有 ID,但刪除重復項,並返回名為 email 的三個新列,如果活動為(電子郵件(對於 email 列)、電話(對於電話列)、約會(對於約會列),則包含 true 的電話和約會), 否則為假。

我擁有的

ID 活動
101 Email
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 Email 約定 電話
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM