이러한 테이블이 있습니다.
출력물은 "A,B,C,D,E" 이와같은 컴마로 구분된 한줄의 문자열입니다.
이것을 sql문으로 생성이 가능한지요
똑 같은 상황은 아니겠지만 제가 실무에서 직접 사용한 예가 있어 그대로
복사해 뒀습니다. 적당히 변형하시면 가능하지 않을까 하네요.
물론 더 좋은 방법이 있으시면 언제든지 추천해주시고요 ^^
아래와 같은 결과를
aaa
----------
남자
여자
이런 모습으로 나오게 하고 싶다.
-----------
남자, 여자
그럴 때 아래와 같은 함수를 사용하라
s_id, q_id는 적절하게 table의 상황을 보고 판단할 것
Create function case_txt(@s_id int, @q_id int) returns @t table(case_txt varchar(5000))as Begin declare @t_str varchar(5000) declare @case_txt varchar(2000) declare txt_cur Cursor for select c_text from isw_case_tbl where s_id = @s_id and q_id = @q_id open txt_cur set @t_str = '' Fetch next From txt_cur into @case_txt while @@Fetch_status = 0 Begin set @t_str = @t_str + @case_txt + ', ' Fetch next From txt_cur into @case_txt End close txt_cur deAllocate txt_cur select @t_str = left(@t_str, len(@t_str)-1) insert @t values (@t_str) returnend
사용자정의 함수는 쓰지 말아야 합니다..
엄청 느리니가요...
SQL로 만드셔야 하비다.
사용저정의 함수안에 SQL을 또 날리는 어리석은 함수를 만들지
맙시다..