일반적인 쿼리를 할때 아래와 같이 나오는 쿼리를
F1 F2
----------- ------------
a 1
a 2
b 3
b 4
b 5
b 6
c 7
e 8
이렇게 나오도록 쿼리를 만들 수 있을까요?
a 1, 2
b 3, 4, 5, 6
--MSSQL 버전이없네요~ 2000을기준으로하겠습니다.
create table test(F1 char(1),F2 int)
insert test
select 'a',1 union all
select 'a',2 union all
select 'b',3 union all
select 'b',4 union all
select 'b',5 union all
select 'b',6 union all
select 'c',7 union all
select 'e',8
go
------------------------------------------
-- create function
create function get_string(@F1 char(1))
returns varchar(200)
as
begin
declare @ret varchar(200)
select @ret = coalesce(@ret + ', ' + convert(varchar,F2) ,convert(varchar,F2))
from test
where F1 = @F1
return @ret
end
select distinct F1, dbo.get_string(F1) F2
/*
---- -----------------------------
(4개행적용됨)
*/