SQL Server 字符串連接與 GROUP BY 的巧妙結合
在 SQL Server 中,可以使用一種巧妙的方法結合 FOR XML
和 PATH
來在 GROUP BY
操作中連接字符串。
目標是將如下數據:
<code>id Name Value 1 A 4 1 B 8 2 C 9</code>
轉換為:
<code>id Column 1 A:4, B:8 2 C:9</code>
步驟如下:
創建臨時表: 創建一個與原始表架構相同的臨時表。
插入樣本數據: 將樣本數據插入臨時表。
使用 FOR XML 和 PATH 連接字符串: 利用 FOR XML
和 PATH
方法在每個 ID 組內連接字符串。這包括:
ID
和 Name
列。 Name
和 Value
。 ,
)連接 Name
和 Value
列。 FOR XML PATH('')
將結果轉換為 XML。 TYPE
和 value()
方法從 XML 中提取連接的字符串。 按 ID 分組並使用 STUFF: 按 ID
分組結果。使用 STUFF
函數刪除連接字符串中的前導分隔符(例如,逗號)。
選擇最終結果: 選擇 ID
和連接的 Name
和 Value
字符串作為 Column
列。
刪除臨時表: 操作完成後刪除臨時表。
這種方法利用了 FOR XML
和 PATH
的強大功能,在 GROUP BY
操作中有效地連接字符串,無需使用游標、循環或用戶定義函數。
以上是如何使用 FOR XML PATH 連接 SQL Server 群組中的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!