[英]Create another column based on the conditions in SQL
我認為你只想要條件聚合:
select lastname, firstname,
max(case when dosenumber = 1 then dosenumber end) as dosenumber_1,
max(case when dosenumber = 1 then timeofevent end) as timeofevent_1,
max(case when dosenumber = 2 then dosenumber end) as dosenumber_2,
max(case when dosenumber = 2 then timeofevent end) as timeofevent_2
from t
group by lastname, firstname;
根據所需的輸出結果部分,只顯示 2 個名字以 A 開頭的記錄。這就是這里啟用 where 子句的原因。 如果所有患者信息都需要,則禁用 where 子句。
SELECT PatientLastName, PatientFirstName
, MAX(CASE WHEN DoseNumber = 1 THEN DoseNumber ELSE NULL END) DoseNumber1
, MAX(CASE WHEN DoseNumber = 1 THEN TimeOfEvent ELSE NULL END) TimeOfEvent1
, MAX(CASE WHEN DoseNumber = 2 THEN DoseNumber ELSE NULL END) DoseNumber2
, MAX(CASE WHEN DoseNumber = 2 THEN TimeOfEvent ELSE NULL END) TimeOfEvent2
FROM table_name
WHERE PatientFirstName like 'A%'
GROUP BY PatientLastName, PatientFirstName
ORDER BY PatientFirstName;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.