我有以下字段和樣本數據SQL Server表:SQL Server的:合併數據行中單個表中輸出
ID Name Address Age
23052-PF Peter Timbuktu 25
23052-D1 Jane Paris 22
23052-D2 David London 24
23050-PF Sam Beijing 22
23051-PF Nancy NYC 26
23051-D1 Carson Cali 22
23056-PF Grace LA 28
23056-D1 Smith Boston 23
23056-D2 Mark Adelaide 26
23056-D3 Hose Mexico 25
23056-D4 Mandy Victoria 24
與-PF每個ID是表中唯一的。
帶-Dx的每個ID與-PF具有相同的ID。
帶有-PF的每個ID可以具有0個或更多個具有-Dx的ID。
對於給定的-PF -Dx的最大行數爲9
即一個ID 11111-PF可具有11111-D1,11111-D2,11111-D3高達11111-D9。
輸出預計上述樣本數據:
ID ID (without suffix) PF_Name PF_Address PF_Age D_Name D_Address D_Age
23052-PF 23052 Peter Timbuktu 25 Jane Paris 22
23052-PF 23052 Peter Timbuktu 25 David London 24
23050-PF 23050 Sam Beijing 22 NULL NULL NULL
23051-PF 23051 Nancy NYC 26 Carson Cali 22
23056-PF 23056 Grace LA 28 Smith Boston 23
23056-PF 23056 Grace LA 28 Mark Adelaide 26
23056-PF 23056 Grace LA 28 Hose Mexico 25
23056-PF 23056 Grace LA 28 Mandy Victoria 24
我需要能夠加入-PF和-Dx如上。
如果一個-PF有0個Dx行,那麼輸出中的D_Name,D_Address和D_Age列應該返回NULL。
如果一個-PF有一個或多個Dx行,那麼PF_Name,PF_Address和PF_Age應該重複輸出中的每一行和D_Name,D_Address和D_Age應該包含每個相關Dx行的值。
需要使用MSSQL。
查詢不應該使用視圖或創建其他表。
感謝您的幫助!
看看樞聲明 – fnostro 2013-05-13 21:39:43
表架構被打破。 PF/D1/D2應該有它自己的專欄 – 2013-05-13 21:47:30
@JoelCoehoorn:沒有損壞,在這裏工作得很好。你可以爭論當然的設計選擇,但它本身不會被破壞。 – 2013-05-13 21:57:41