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 |
댓글