我在看下面的鏈接:STUFF函數可以返回NULL值嗎?
Can I Comma Delimit Multiple Rows Into One Column?
解決方案中使用的查詢正是我需要的,也是需要返回NULL值。
SELECT t.TicketID,
STUFF(ISNULL((SELECT ', ' + x.Person
FROM @Tickets x
WHERE x.TicketID = t.TicketID
GROUP BY x.Person
FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), ''), 1, 2, '') [No Preceeding Comma]
FROM @Tickets t
GROUP BY t.TicketID
如果每個[TicketID]都有一個關聯的[Person],這很好用。
但是,如果Person爲NULL,對於TicketID,我需要返回TicketID並將Person顯示爲NULL或空白。我無法乾淨地移除ISNULL。
從這:
[TicketID], [Person]
T0001 Alice
T0001 Bob
T0002 Catherine
T0002 Doug
T0003 Elaine
T0004 NULL
要這樣:
[TicketID], [Person]
T0001 Alice, Bob
T0002 Catherine, Doug
T0003 Elaine
T0004 NULL
你需要寫上您的查詢的頂'PIVOT' ...希望你可以探索 – techspider
這是個問題嗎?或試圖討論?查找MSDN,並有條不紊地前進。另外,沒有理由不能提取,轉換並使用您的數據。簡化流程,它可能有助於找到優化的方法。 –