我正在處理一些看起來像這樣的資料,在 Customer 表中(還有其他列):
| 顧客ID | 產品編號 |
|---|---|
| 11111 | 256,389 |
| 11112 | 789,564,468 |
還有一個 Product 表,其中包含 Product ID 和 Product Name(以及其他列)
我需要撰寫一個查詢,它將構成視圖的基礎,它本質上用產品 ID 代替產品名稱,但將其保留為一列中的逗號分隔串列,因此輸出將如下所示:
| 顧客ID | 產品 |
|---|---|
| 11111 | 蘋果、橙子 |
| 11112 | 梨、香蕉、甜瓜 |
我知道這看起來很可怕,我還有其他表格使用 cross_apply 將每個產品分開到每一行,但客戶也希望看到這樣的資料。
uj5u.com熱心網友回復:
我準備了一個例子,希望能滿足你的需求
DECLARE @Tbl1 TABLE(ID INT, Value INT)
INSERT INTO @Tbl1 VALUES (1,100),(1,200),(1,300),(1,400)
SELECT ID
,STUFF((SELECT ', ' CAST(Value AS VARCHAR(10)) [text()]
FROM @Tbl1
WHERE ID = t.ID
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,2,' ') Value
FROM @Tbl1 t
GROUP BY ID
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/325109.html
標籤:sql sql-server 查询语句
