Progamming/MSSQL

[MSSQL] STUFF, FOR XML

BIBIA 2020. 10. 23. 16:45

STUFF : 문자열의 시작위치와 크기를 지정해 원하는 문자로 치환하는 함수

STUFF(문자열, 시작위치, 크기, 치환문자)

 

FOR XML : 쿼리의 실행 결과를 xml파일로 만들어준다.

 

SELECT 연번
     , 보고서구분
     , 활동일시_월
     , 활동일시_일
     , SUM(CASE WHEN 출석여부 = 'N' THEN 1 ELSE 0 END) AS 학생수
     , STUFF((
		 SELECT ',' + STUD_NM 
		   FROM 참여명단 A
		  INNER JOIN vp_stud B
			 ON A.학번 = B.STUD_NO
		  WHERE A.연번 = C.연번
		    AND A.보고서구분	 = C.보고서구분
		    AND A.활동일시_월 = C.활동일시_월
		    AND A.활동일시_일 = C.활동일시_일
			AND A.출석여부 ='N'
		FOR XML PATH('')),1,1,'') AS 성명
 FROM 참여명단 C
GROUP BY 연번,보고서구분,활동일시_월, 활동일시_일