row로 되어있는 값들을 한줄로 가공 시켜줌.
cast를 해줌으로써 xml 형식으로 내보내래는 명령을 무시하고 문자열로 묶어준다.
SELECT STUFF((SELECT ',' + CAST(report_m_no AS VARCHAR) FROM report_p where report_m_subject in (721,726,735,744,749) FOR XML PATH('')), 1, 1, '')
select (SELECT ',' + CAST(report_m_no AS VARCHAR) FROM report_p where report_m_subject in (721,726,735,744,749) FOR XML PATH(''))
select(SELECT report_m_no FROM report_p where report_m_subject in (721,726,735,744,749) FOR XML PATH(''))
응용
select distinct(subject_term),
stuff((select ',' + CAST(subject_no as varchar) from subject as a where a.subject_term = b.subject_term for XML PATH('')),1,1,'')
from subject as b
group by subject_term,subject_no
for xml path('')
xml 형식으로 만들어주는 함수
STUFF(content,1,1,'')
substring 과 같은 함수
cast 가 들어가면 xml형식을 강제로 문자열로 만든다
응용
뷰테이블로 하나 만들어서 조인을 해주면 원하는 값 기준으로 한줄로 가져올수가 있다.