2013-05-22 87 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