我一直试图这样做,直到我无法弄清楚如何,
我只想将多行连接成一行,并使其成为最终列查询的值。为了说明;
初步查询:
ColumnOne
---------
Row1 | 1 - One
Row2 | 2 - Two
Row3 | 3 - Three
我想做点什么,
1 - One, 2 - Two, 3 - Three
最终结果应该是这样的:
Name | Age | Text
-----------------
Paul | 12 | 1 - One, 2 - Two, 3 - Three
John | 34 | 1 - One, 2 - Two, 3 - Three
Alex | 15 | 1 - One, 2 - Two, 3 - Three
我将使用文本列作为RDL字段的描述
有人请。?
答案 0 :(得分:4)
假设您的表名为tab1和tab2,并且您使用的是用于该关系的列ID
,则应执行此操作:
SELECT t2.Name, t2.Age,
(SELECT tab1_inner.ColumnOne + ','
FROM tab1 tab1_inner
INNER JOIN tab2 tab2_inner
ON tab1_inner.ID = tab2_inner.ID
WHERE t2.ID = tab1_inner.ID
FOR XML PATH('')
) AS Text
FROM tab2 t2