[英]Make a separate row respectively if a column contains comma-separated value
[英]Make a separate row if a column contains comma-separated value
假設我們有一個簡單的選擇查詢,它返回如下所示的結果
FirstName LastName PayScale
----------- ------------ ---------------
Craig L 150000
Alice,Lisa simons 100000
所以如果我們用逗號分隔的名字,那么我想要這樣的結果
FirstName LastName PayScale
----------- ------------ ---------------
Craig L 150000
Alice simons 100000
Lisa simons 100000
您可以將查詢編寫為:
DECLARE @employee TABLE (FirstName VARCHAR(100),
LastName VARCHAR(100),
PayScale INT)
INSERT INTO @employee VALUES
('Craig','L',150000) ,
('Alice,Lisa','simons',100000)
SELECT Split.a.value('.', 'VARCHAR(100)') AS FirstName , LastName ,PayScale
FROM (SELECT CAST ('<M>' + REPLACE(FirstName, ',', '</M><M>') + '</M>'
AS XML) AS FirstName , LastName ,PayScale
FROM @employee)
AS A
CROSS APPLY FirstName.nodes ('/M') AS Split(a)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.