有一个表数据为:(都是string类型 )
MsgCode Lang MsgName
A 中文 我
B 英文 I
C 日文 の
把这个表变成:
MsgCode 中文 英文 日文
排水口1 我 I の
求别复制其他的 什么SUM() 成绩为int MsgName为string
意思是表的第一行显示数据的第二列,第二行显示数据的第三列么?
/*如何将一列中所有的值一行显示
数据源
a
b
c
d
e
结果
a,b,c,d,e
*/
create table tb(col varchar(20))
insert tb values ('a')
insert tb values ('b')
insert tb values ('c')
insert tb values ('d')
insert tb values ('e')
go
--方法一
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + t.col + ',' from (select col from tb) as t
set @sql='select result = ''' + left(@sql , len(@sql) - 1) + ''''
exec(@sql)
/*
a,b,c,d,e,
*/
--方法二
declare @output varchar(8000)
select @output = coalesce(@output + ',' , '') + col from tb
print @output
/*
a,b,c,d,e
*/
---方法三
declare @s varchar(1000)
select @s=isnull(@s+',' , '')+col from tb
select @s
/*
a,b,c,d,e
*/
drop table tb
给你例子吧 自己去写一写