SQL XML Path 把列的值彙總到行
工具/原料
SQL Server
方法/步驟
建立表,兩列,FName,FHobby
插入資料,多個重複的FName,不同的Bohhy
看到的是並行排列的資料,我們想要按照名稱,把Hobby合併到一列
按照名稱關聯彙總,然後Hobby利用xml合併,最後LEFT函式去掉最後一個連線符號
下面把完整程式碼貼出來
IF Exists(select 1 from sysobjects where xtype='u' and name='T_ColValue')
Drop Table T_ColValue
GO
Create Table T_ColValue
(
FName nvarchar(255),
FHobby nvarchar(255)
)
GOTruncate Table T_ColValue
GOInsert Into T_ColValue(FName,Fhobby)
select '陳軍','睡覺'
Union All
select '陳軍','打牌'Union All
select '陳軍','裝逼'
Union ALl
select '潘國','CS'Union All
select '潘國','打牌'
Union All
select '潘國','泡妞'
GO
Select * from t_colvalueGO
Select FName,Left(FHobby,len(FHobby)-1) FHobby From
(
select FName,
(select FHobby+'/' From t_colvalue t0 where t0.FName=t1.FName for xml path('')
) FHobby From t_colvalue t1
group by Fname
) AS B
Go