USE tempdb GO --테스트 자료 만들기 CREATE TABLE 가족 (id INT, Val VARCHAR(10)) INSERT 가족 VALUES (1,'한수') INSERT 가족 VALUES (2,'지우') INSERT 가족 VALUES (3,'선우') INSERT 가족 VALUES (4,'숙') INSERT 가족 VALUES (5,'찬우') -- 데이터 확인 SELECT * FROM 가족 GO --커서를 쓰는 방법 SET NOCOUNT ON DECLARE @str VARCHAR(100), @tempVar VARCHAR(20) SET @str='' DECLARE my_cur CURSOR FOR SELECT Val FROM 가족 OPEN my_Cur FETCH NEXT FROM my_Cur INTO @tempVar WHILE @@FETCH_STATUS = 0 BEGIN SET @str=@str + @tempVar + ',' FETCH NEXT FROM my_Cur INTO @tempVar END --마지막 불필요한 쉼표 제거 SELECT SUBSTRING(@str , 1,Len(@str)-1) CLOSE my_cur DEALLOCATE my_cur GO --쿼리를 쓰는 방법 DECLARE @str VARCHAR(100) SELECT @str= COALESCE(@str+',' , '') + Val FROM 가족 SELECT @str GO --정리 DROP TABLE 가족 GO
보통 커서를 사용했었는데 쿼리로 처리하는 방법을 이번에 정원혁강사님 교육 중 알게되서 정리합니다..
COALESCE 를 이렇게 사용할수도 있네요..