读书人

group by 有关问题能否通过一句SQL实

发布时间: 2012-01-22 22:38:43 作者: rapoo

group by 问题,能否通过一句SQL实现?
A 55
A 44
A 33
A 22

能否显示为:
A 55 44 33 22

[解决办法]
--建函
Create Function F_TEST(@Col1 Varchar(10))
Returns Varchar(1000)
As
Begin
Declare @S Varchar(1000)
Select @S = ' '
Select @S = @S + ' ' + Cast(Col2 As Varchar) From 表 Where Col1 = @Col1
Return @S
End
GO
--
Select
Col1,
dbo. F_TEST(Col1) As Col2
From

Group By
Col1
GO
[解决办法]
--测试环境
declare @tb table(col1 varchar(10),col2 varchar(10))

insert @tb select 'A ', '55 '
union all select 'A ', '44 '
union all select 'A ', '33 '
union all select 'A ', '22 '
union all select 'B ', '11 '


declare @col2_all varchar(100)
set @col2_all = ' '
select @col2_all = @col2_all + col2 + ' '
from @tb
where col1 = 'A '

select 'A ',@col2_all

--结果
A 55 44 33 22

读书人网 >SQL Server

热点推荐