create table test(ID int,姓名 varchar(10),奖金 int) insert test select 1,'aaa',1000 union all select 2,'bbb',2000 union all select 3,'ccc',3000declare @s varchar(8000) set @s='' select @s=@s+',max(case 姓名 when '''+姓名+''' then 姓名 end),max(case 姓名 when '''+姓名+''' then 奖金 end)' from test select @s=@s+' from test' select @s='select '+stuff(@s,1,1,'') exec(@s)drop table test
insert test select 1,'aaa',1000
union all select 2,'bbb',2000
union all select 3,'ccc',3000declare @s varchar(8000)
set @s=''
select @s=@s+',max(case 姓名 when '''+姓名+''' then 姓名 end),max(case 姓名 when '''+姓名+''' then 奖金 end)'
from test
select @s=@s+' from test'
select @s='select '+stuff(@s,1,1,'')
exec(@s)drop table test
aaa 1000 bbb 2000 ccc 3000警告: 聚合或其它 SET 操作消除了空值。
select @str=' '
select @str =@str +姓名+space(2)+convert(varchar,奖金)+space(4) from test
select ltrim(@str)
http://download.csdn.net/source/174331
select @sql=''
select @sql =@sql+ 姓名+space(1)+convert(varchar,奖金)+space(2) from test
select @sql
-----------------------------------
aaa 1000 bbb 2000 ccc 3000
这书下载了看了下,好象不太合适我。我希望能看到些比较精巧的sql语句,可以充分体现技巧性,而不是那种庞大化的“复杂”。