[mssql]중복된 내용 그룹바이 및 조인으로 뽑아내는 쿼리 0 2 1,422

by 나나나나 [2016.07.11 15:50:42]


안녕하세요
간단한 것 같은데 막상 짜려니 도무지 방법이 생각이 안나서 문의드립니다.

idx title
1 aaa
2 ddd
3 aaa
4 aaa

이런 데이터를 아래와 같이 뽑아내고 싶습니다.

title  idx
aaa 1 | 3 | 4
ddd 2

 

by 마농 [2016.07.11 16:27:14]
WITH t(idx, title) AS
(
SELECT 1 idx, 'aaa' title
UNION ALL SELECT 2, 'ddd'
UNION ALL SELECT 3, 'aaa'
UNION ALL SELECT 4, 'aaa'
)
SELECT title
     , STUFF((SELECT CONCAT(' | ', s.idx)
                FROM t s
               WHERE s.title = m.title
               ORDER BY s.idx
                 FOR XML PATH('')
              ), 1, 3, '') idxs
  FROM t m
 GROUP BY title
;
-- http://www.gurubee.net/article/55512

 


by 나나나나 [2016.07.11 19:14:18]

감사합니다^^

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입