create function getstr(@content varchar(20))
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim([Order]) from 表 where [ID]=@content
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select [ID],sum(quantity) quantity,dbo.getstr(content) from 表 group by [id]
returns varchar(2000)
as
begin
declare @str varchar(2000)
set @str=''
select @str=@str+','+rtrim([Order]) from 表 where [ID]=@content
set @str=right(@str,len(@str)-1)
return @str
end
go语句:
select [ID],sum(quantity) quantity,dbo.getstr(content) from 表 group by [id]
declare @YourResultTable table (id varchar(2), value varchar(10))
insert @YourResultTable values('1', 'cool')
insert @YourResultTable values('1', 'nice')
insert @YourResultTable values('1', 'wow')
insert @YourResultTable values('2', 'cool')
insert @YourResultTable values('2', 'wow')
insert @YourResultTable values('4', 'nice')
insert @YourResultTable values('6', 'cool')
insert @YourResultTable values('6', 'nice')--select * from @YourResultTabledeclare @z varchar(100),@q varchar(2)
select @q = nulldeclare @ProcessTable table (id varchar(2), value varchar(100))
insert @ProcessTable
select id, value from @YourResultTable
order by id, valueupdate @ProcessTable
set @z = value = case @q when id then @z else '' end + value +',' , @q = id
from @ProcessTable
--select * from @ProcessTableselect id,max(value) from @ProcessTable group by idset nocount off
我很想知道
set @z = value = case @q when id then @z else '' end + value +',' , @q = id
from @ProcessTable
这句话的执行顺序
經典!!!