~~~~~~~~~~~~~~~這樣的結果,sql語句怎樣寫?
表裡有這樣一些記錄:
10點 10:50的火車
11點 null
12點 null
13點 null
14點 null
15點 null
16點 記得打電話提醒下火車
16點 test
16點 tt
16點 笑話
17點 sdfdsf
請部怎樣顯示成:
10點 10:50的火車
11點 null
12點 null
13點 null
14點 null
15點 null
16點 1,記得打電話提醒下火車;2,test;3,tt;4,笑話;
17點 sdfdsf
謝謝!
------解决方案--------------------drop table tbtest
go
create table tbtest(name varchar(10),value varchar(20))
insert into tbtest
select '10點 ', '10:50的火車 '
union all select '11點 ',null
union all select '12點 ',null
union all select '13點 ',null
union all select '14點 ',null
union all select '15點 ',null
union all select '16點 ', '記得打電話提醒下火車 '
union all select '16點 ', 'test '
union all select '16點 ', 'tt '
union all select '16點 ', '笑話 '
union all select '17點 ', 'sdfdsf '
alter function dbo.uf_getstr(@name varchar(10))
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str= ' '
select @str=@str+isnull(value, ' ')+ '; ' from tbtest where name=@name
select @str=left(@str,len(@str)-1)
return @str
end
select distinct name,dbo.uf_getstr(name) value from tbtest
/*
name value
---------- ------------------------------------
10點 10:50的火車
11點
12點
13點
14點
15點
16點 記得打電話提醒下火車;test;tt;笑話
17點 sdfdsf
(所影响的行数为 8 行)
*/