본문 바로가기
  • 읽고보고쓰고
PROGRAMMING/Database

행을 열로 바꿔주는 쿼리

by 체리그루브 2015. 6. 3.
728x90

 

 

테이블의 여러 행을 한 줄로 보여주고자 할 때, 다음의 쿼리를 사용한다.

 

SELECT  STUFF((

 

-- 여기에 컬럼 하나를 Select 하는 문장을 삽입.

 

FOR XML PATH ('')) ,1,1,'')

 

 

이와 같은 쿼리로 아래와 같이 응용한다.

 

SELECT  STUFF((SELECT '|' +  Convert(varchar, b.UserID) + '=' + (CASE WHEN a.RoleValue < 3 THEN 'N' ELSE 'Y'END)
from    tb_Doc_Role a with(Nolock) inner join BizRunner_Sys.dbo.t_User b with(nolock) on a.TargetType = 'user' and a.Target = b.UniqueName
where   a.DocID = 100359214 FOR XML PATH ('')) ,1,1,'')

 

결과값은 아래와 같다. 행을 |(파이프)로 나눠서 보여주는 예.

 

12289=Y|16819=Y|10601=Y|12155=Y|11931=Y|7192=Y

728x90

'PROGRAMMING > Database' 카테고리의 다른 글

JEUS JDBC  (0) 2015.06.06
charindex를 이용한 revers 추출 예제  (0) 2015.06.05
idendity on / off 하기  (0) 2015.05.10
MS SQL 순환문 정리 (Loop)  (0) 2015.04.01
DB 용량 체크  (0) 2015.03.31

댓글