2011-03-26 5 views
1

나는SQL 서버 문자열 쿼리

select tt.id,substring((select ','+cn.DocumentTitle from ContractNewDocs cn,tblContract t where t.JobId = 8 AND t.Id = cn.ContractID order by cn.ContractID for xml path('')),2,200) as csv 
FROM tblContract tt,ContractNewDocs cn 
where tt.JobId = 8 AND tt.Id = cn.ContractID 
group by tt.Id 

내가 다음과 같은 결과를 얻을 다음 SQL 쿼리를 가지고

id  cvs 
4  asss,cdddd,aaaaaaaaaaa,bbbbbbbb,cccccccccc 
6  asss,cdddd,aaaaaaaaaaa,bbbbbbbb,cccccccccc 

하지만 난이 필요로하는 결과

id  cvs 
    4  asss,cdddd 
    6  aaaaaaaaaaa,bbbbbbbb,cccccccccc 

내가 그것을 얻고있다 잘못된? 어느 누구도 문제를 해결할 수 있습니까?

+0

또한이 쿼리를 실행하는 신호 데이터를 프로빙 할 수 있습니까? –

답변

2
select tt.id,substring((
    select ','+cn.DocumentTitle 
    from ContractNewDocs cn 
    where tt.Id = cn.ContractID 
    order by cn.ContractID for xml path('')),2,200) as csv 
FROM tblContract tt 
inner join ContractNewDocs cn on tt.Id = cn.ContractID 
where tt.JobId = 8 
group by tt.Id