2013-05-22 59 views
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字段的描述

任何人都可以。

+0

有间''name'任何age'有关本' columnOne' values –

+0

现在还没有,但是最终用于查询的SELECT语句稍后会连接到另一个表,会对解决方案产生重大影响吗? –

+0

Tobias Schulte提到的For XML子句是我通常完成这项工作的方式。这将为每个数据元素返回一个带有标签和附近内容的XML文件。得到这个XML后,我通常使用后面的RDL代码来剥离数据集上某个计算字段的XML。 –

回答

4

假设你的表名为TAB1和TAB2和theres您使用的关系一栏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