好吧,我以前的答案一點都沒有你的意思一致。您希望對每個的每個線路上的每個線路分配一個Patient_ID
以及每個Full_name
。我假設每個病人只有一個類型的提供者,而不是更多;如果還有更多的話,每個病人你都會有不止一行,反正我不認爲這是真的可能。
這是我的解決方案與樞軸。第一部分是讓它更容易理解,所以我在子查詢中創建了一個名爲TABLE_PATIENT
的表。
WITH TABLE_PATIENT AS
(
SELECT TablePatient.Patient_ID,
TableProviders.Provider_Type,
TableNames.Full_Name
FROM TablePatient LEFT JOIN
TableProviders on TablePatient.Patient_ID = TableProviders.Encounter
LEFT JOIN
TableNames on TableNames.Provider_ID = TableProviders.Provider_ID
group by TablePatient.Patient_ID,
TableProviders.Provider_Type,
TableNames.Full_Name
)
SELECT *
FROM TABLE_PATIENT
PIVOT
(
min(Full_name)
for Provider_type in ([type1], [type2],[type3])
) AS PVT
所以TABLE_PATIENT
只是有許多行對每一個病人,一個供應商的每一行,和樞穿上單排的一切。告訴我,如果有什麼不工作。
你需要在[type1],[type2]等中寫入你想要的每種類型,只要把它們放在[]中,不需要其他字符'或其他任何東西。
如果你只放了一些類型,那麼查詢就不會顯示其他類型的提供者。
告訴我,如果有什麼不工作。
太好了。這很好。謝謝。 – JoshuaB
很高興聽到這個消息。那麼請你確認我的答案? :) – BD01
有沒有辦法給輸出添加一個「CASE」?在爲「TABLE_PATIENT」製作別名「T」之後,我嘗試了「*」,還嘗試了「TABLE_PATIENT。*」和「T. *」,但都沒有奏效。 – JoshuaB