如何用一条SQL语句将TABLE表中多条记录变为一条记录显示:
table1只有一个字段内容如下:(table1的记录数量一般为0-20行)
aaa
----------------------
生管: 10.00
业务: 15.00
工程: 20.00
品保: 33.00
(所影响的行数为 3 行)
问:
如何用一条SQL语句将以上多条记录变为一条记录显示:
bbb
-------------------------------------------------
生管: 10.00;业务: 15.00;工程: 20.00;品保: 33.00
问题点数:20、回复次数:5Top
1 楼iswear428(黄沙百战穿金甲,不破楼兰终不还)回复于 2005-02-18 13:24:50 得分 20
declare @str varchar(1000)
set @str = ''
select @str=@str+';'+aaa
from table1
select @strTop
2 楼zheninchangjiang(徐若涵)回复于 2005-02-18 13:25:04 得分 0
declare @s varchar(8000)
set @s=''
select @s=';'+@s+aaa from table1
set @s=stuff(@s,1,1,'')Top
3 楼zheninchangjiang(徐若涵)回复于 2005-02-18 13:25:38 得分 0
倒了select @s=@s+';'+aaa from table1Top
4 楼remote_peng(漫天飛舞)回复于 2005-02-18 13:34:34 得分 0
--建立測試數據
create table #test
( aaa varchar(100) )
insert into #test values('生管: 10.00')
insert into #test values('业务: 15.00')
insert into #test values('工程: 20.00')
insert into #test values('品保: 33.00')
declare @s varchar(8000)
set @s=''
select @s=@s+';'+aaa from #test
select bbb=stuff(@s,1,1,'')
--刪除測試數據
drop table #testTop
5 楼NewQger(Q哥)回复于 2005-02-18 14:17:15 得分 0
搂主好象说的不是上边的解决的意思吧,
应该是把多行记录转成一行记录多列显示吧Top




