2011-02-11 7 views
1
SELECT sc.CID,sc.CodeName as OverviewText,scRAG.CodeName as RAGStatusText 
FROM StatusCode sc 
    LEFT OUTER JOIN ProjectOverview po ON sc.CID = po.ProjectOverviewCID AND po.ProjectId = 180 
    LEFT OUTER JOIN StatusCode scRAG ON po.RAGStatusCID = scRAG.CID 
WHERE sc.SCID = 18 

이 위의 코드 결과 죄 :어떻게이 선택을 피할 수 있습니까?

CID OverviewText RAGStatusText 
153 Cost   Green 
154 Requirements Yellow 
155 Schedule NULL 
156 Technical NULL 
157 Testing   NULL 

내가 그것을 10 개 필드를 하나 개의 레코드를 반환 할 :

비용, 녹색, 요구 사항, 노란색, 일정, NULL, 기술, NULL, 테스트 중 NULL

cid를 사용할 수 있습니까?

+1

이것은 내가 볼 수있는 한 [적어도 6 번째 피벗 질문] (http://stackoverflow.com/search?q=user%3A352157+pivot)입니다. 지금까지 뭐 해봤 어? –

+0

2nd. 나머지는 코드에 피벗 (pivot)이있는 변형 또는 기타 질문입니다. – kacalapy

+0

CID 열이 포함 된 테이블에 미래에 더 이상 추가 된 행이 있습니까, 아니면 모든 집중적 인 용도로 읽기 전용입니까? – JoshRoss

답변

0

별도의 열이있는 대신 하나의 열로 살 수 있습니까? 이렇게?

create table #t1([CID] int 
,[OverviewText] varchar(12) 
,[RAGStatusText] varchar(6)) 

insert #t1 values (153,'Cost','Green') 
insert #t1 values (154,'Requirements','Yellow') 
insert #t1 values (155,'Schedule',NULL) 
insert #t1 values (156,'Technical',NULL) 
insert #t1 values (157,'Testing',NULL) 

select StringToSpit = stuff((select 
[text()]=','+[OverviewText]+','+isnull([RAGStatusText],'NULL') 
from #t1 
for xml path('')),1,1,'') 
관련 문제