2013-03-19 1 views
1

무기한으로 테이블에 가입하려고합니다. 열은 다음과 같습니다무기한 조인 횟수

+----------+---------+   +--------+--------+--------+---+-----+-----+-----+ 
| ClientID | Data |   | Client | Data | Client | * | Cli | * | ... | 
+----------+---------+   +--------+--------+--------+---+-----+-----+-----+ 
| 7  | *data* |   | 7 | *data* | 8 | * | 9 | * |  | 
| 7  | *data* |   | 7 | *data* | 8 | * | 9 | * |  | 
| 8  | *data* | -> | 7 | *data* | 8 | * | 9 | * |  | 
| 9  | *data* |   | 7 | *data* | ... | * | ... |  |  | 
| ...  | ... |   | ... | ... |  | * |  |  |  | 
+--------------------+   +--------+--------+--------+--+-----+------+-----+ 

나는 별개의 클라이언트의 수를 잘 모릅니다 나는 완전히 가입 테이블이 필요합니다. 동적 SQL을 사용하지 않으려 고합니다. 동적 SQL을 사용하는 것이 가장 쉬운 방법이라고 생각합니다. 도움이 될 것입니다.

+0

당신은 테이블과 행의 구조에 대한 자세한 내용을 보여줄 수 있습니까? 같은 행을 다시 선택하고 싶습니까? – Thilo

+0

원하는 결과 출력 – MarcinJuraszek

+0

먼저 [ClientId]의 모든 DISTINCT 번호에 대해 자체적으로 테이블에 가입하려고합니다. 고유 한 [ClientId]가 여러 번 가입했습니다. – Trepach

답변

0

아마

select distinct clientid, 
stuff((select ','+DATA 'data()' 
from [table] t1 
where t1.clientid=t2.clientid 
for xml path('')),1,1,'') 
from [table] t2