내가 열 이름과 함께 아래와 같은 결과를 얻을 수 T-SQL을 사용하려면SQL
SWD Lead QA Lead PD Lead Business Manager
AAAA BBBB CCCC DDDD
같은 기록이있다
SWD Lead AAAA
QA Lead BBBB
PD Lead CCCC
Business Manager DDDD
합니까 아무도 그것을하는 방법을 안다?
최고 감사합니다,
내가 열 이름과 함께 아래와 같은 결과를 얻을 수 T-SQL을 사용하려면SQL
SWD Lead QA Lead PD Lead Business Manager
AAAA BBBB CCCC DDDD
같은 기록이있다
SWD Lead AAAA
QA Lead BBBB
PD Lead CCCC
Business Manager DDDD
합니까 아무도 그것을하는 방법을 안다?
최고 감사합니다,
당신이 UNPIVOT를 사용할 수있는 SQL 서버 2005을 사용하고 있기 때문에. 이는 해당 페이지의 예에서 수정 :
SELECT ColA, ColB
FROM Table1
UNPIVOT (ColB FOR ColA IN ([SWD Lead],
[QA Lead],
[PD Lead],
[Business Manager])) AS unpvt;
결과 :
SELECT 'Col1', Col1 FROM Table1
UNION ALL
SELECT 'Col2', Col2 FROM Table1
UNION ALL
SELECT 'Col3', Col3 FROM Table1
UNION ALL
SELECT 'Col4', Col4 FROM Table1
SELECT 콜라 FROM COLB * P (dbo.table FROM * 해당) UNPIVOT (콜라 IN COLB ('QA 리드」, 「SW 리드') FOR) unpvt로서 "메시지 102, 수준 15, 상태 1, 줄 2 '*'근처의 구문이 잘못되었습니다. 메시지 102, 수준 15, 상태 1, 줄 4 'p'근처의 구문이 잘못되었습니다. " –
+1, 유용한 대답. 약간의 수정 - 이것을 관리 스튜디오에 붙여 넣을 때 'as my_pivot_table_name;'이 필요했습니다. 끝 부분에서 –
@ Yonwei Xing : 첫 번째 발신 번호 뒤에 *가 잘못되었습니다. 가짜 열 이름을 사용하여 질문을 게시하는 대신 실제 열 이름을 질문에 포함 시키십시오. 사용자의 상황에서 정확하게 작동하도록 쿼리를 만들 수 있으므로 전혀 수정할 필요가 없습니다. 이렇게하면 쿼리가있는 그대로 작동하므로 열 이름을 변경하는 동안 실수를 할 위험이 줄어 듭니다. –
Server 버전 : 동일한 효과를 달성하기 위해 이런 일을 할 수있는 이전의 서버 버전에
? –
항상 한 행만 표시됩니까? –
SQL SERVER 2005. –