0

我一直在尝试这样做,直到我无法弄清楚如何,

我只是想将多行连接成一行并将其作为最终列查询的值。为了显示;

初始查询:

       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 字段的描述

有人请吗?

4

1 回答 1

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
于 2013-05-22T06:30:04.040 回答