[英]T-SQL - string concatenation
希望有人可以提供幫助 - 我是新手SQL黑客(確實非常糟糕!)
我在SQL Server 2005表1和表2上有兩個表:
表格1
COL1 COL2
1 10
2 20
3 30
4 10
4 20
5 20
6 30
7 10
7 20
TABLE2
COL1 COL2
10 A
20 B
30 C
TABLE2中的COL2是COL2 TABLE1中數值數據的字符表示。 我希望這是可以理解的嗎?
我已經研究了如何從TABLE1中選擇COL1和COL2並連接結果以顯示:
COL1 COL2Concat
1 10
2 20
3 30
4 10, 20
5 20
6 30
7 10, 20, 30
使用這個:
SELECT COL1,
STUFF(( SELECT ',' + CAST(a.COL2 AS VARCHAR(255)) AS [text()]
FROM TABLE1 a
WHERE a.COL1 = b.COL1
ORDER BY a.COL2
FOR
XML PATH('')
), 1, 1, '') AS COL2Concat
FROM TABLE1 b
GROUP BY COL1
ORDER BY COL1
但是現在我想嘗試獲得相同的結果,除了使用COL2 TABLE2中的數據...即:
COL1 COL2Concat
1 A
2 B
3 C
4 A, B
5 B
6 C
7 A, B, C
任何想法 - 我堅持誠實,因為我嘗試修改STUFF查詢,但它似乎永遠不會出現...
你可以試試......
SELECT COL1,
STUFF(( SELECT ',' + CAST((SELECT COL2
FROM TABLE2
WHERE TABLE2.COL1 = a.COL1) AS VARCHAR(255)) AS [text()]
FROM TABLE1 a
WHERE a.COL1 = b.COL1
ORDER BY a.COL2
FOR
XML PATH('')
), 1, 1, '') AS COL2Concat
FROM TABLE1 b
GROUP BY COL1
ORDER BY COL1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.