MSSQL 쿼리질문이요 0 3 755

by 즐라탄빡쳤다 [DB 기타] [2018.07.03 15:49:14]


이메일(email)
213@naver.com
214@naver.com
215@naver.com
216@naver.com
217@naver.com

이런테이블이 있는데 

출력을 할때 

213@naver.com, 214@naver.com, 215@naver.com, 216@naver.com, 217@naver.com

이렇게 출력하고 싶습니다. 

이렇게 출력하는 쿼리는 어떻게 작성해야하나요? ,(컴마) 스페이스가 각각 이메일 사이에 들어가야합니다 ㅠㅠ 맨압 빼구요

오라클말고 MSSQL에서요!!ㅠㅠ

by 우리집아찌 [2018.07.03 16:00:56]
WITH T ( EMAIL ) AS (
SELECT  '213@naver.com' UNION ALL
SELECT  '214@naver.com' UNION ALL
SELECT  '215@naver.com' UNION ALL
SELECT  '216@naver.com' UNION ALL
SELECT  '217@naver.com' 
)



SELECT TOP(1) STUFF((SELECT ',' + EMAIL
                FROM t
               ORDER BY EMAIL
                 FOR XML PATH('')
              ), 1, 1, '') VAL
  FROM T 

-- 참고 : http://www.gurubee.net/article/55512


by 마농 [2018.07.04 07:28:22]
-- From 절은 필요 없죠.
SELECT STUFF((SELECT ',' + email
                FROM t
               ORDER BY email
                 FOR XML PATH('')
              ), 1, 1, '') val
;

 


by 우리집아찌 [2018.07.04 08:43:35]

앗!!

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