一个sql查询问题,郁闷
有两表 
 ID                        姓名                        奖金 
 1                           aaa                           1000 
 2                           bbb                           2000 
 3                           ccc                           3000   
 用一条SQL语句得到如下结果(多条语句也可参考) 
 只显示一行: 
 aaa            1000            bbb            2000      ccc      3000     
 还有那位能介绍一本sql复杂语句的好书?(最好以sqlserver为例)
------解决方案--------------------sql复杂语句的书? 邹建大哥的书还是不错的...另外在这里好多牛人写复杂语句的.
------解决方案--------------------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 ',3000   
 declare @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
------解决方案--------------------楼上的很好
------解决方案--------------------declare @str as varchar(4000) 
 select @str= '   ' 
 select  @str =@str +姓名+space(2)+convert(varchar,奖金)+space(4) from test 
 select ltrim(@str)
------解决方案--------------------还有那位能介绍一本sql复杂语句的好书?(最好以sqlserver为例)   
 楼主可以下载《SQLServer2000常用函数大全及个人收藏》,自感觉不错: 
 http://download.csdn.net/source/174331
------解决方案--------------------declare @sql as varchar(4000) 
 select @sql= ' ' 
 select  @sql =@sql+ 姓名+space(1)+convert(varchar,奖金)+space(2) from test 
 select @sql 
 ----------------------------------- 
 aaa 1000  bbb 2000  ccc 3000   
------解决方案--------------------《SQLServer2000常用函数大全及个人收藏》里面主要是邹建的一本书的sql语句,还是去买本原书好