SQL Sever 將查詢結果直式轉成橫式

SQL Sever 將查詢結果直式轉成橫式

主要運用 FOR XML PATH('') 的語法

原來查詢的樣子

希望可以轉成

 

        SELECT distinct OPERATION,
    STUFF((
        SELECT ',' + MACH_NAME
        FROM MACHINE MA_A
        WHERE MA_A.OPERATION = MA_B.OPERATION
        
        FOR XML PATH('')
        ), 1, 1, '')  AS Owners
      FROM MACHINE MA_B
      where OPERATION like '%clean%'

用SUTFF去除第一個逗號

SUTFF 函式的表達式是這樣的 STUFF(原字串, 起始位置, 移除長度, 替換字串)