有两个记录转化一个记录
有两个记录转化一个记录。例如: 
 id   ida      name      num         amount   
 1      001      白菜      11               11   
 2      001      苹果      10               100   
 转化为                       
 001      白菜   11   11      苹果      10   100   
 在线等待!
------解决方案--------------------create table A(id int, ida varchar(10), name_id int, num int, amount int) 
 insert A select 1,   '001 ',    1,      11,     11 
 union all select 2,   '001 ',    2,      10,     100 
 go 
 create table B(name_id int, name varchar(10)) 
 insert B select  1,          '白菜 ' 
 union all select 2,          '苹果 ' 
 go     
 declare @sql varchar(8000) 
 set @sql= 'select ida, ' 
 select @sql=@sql+ 'name= '+quotename(name,  ' ' ' ')+ ',num= '+rtrim(num)+ ',amount= '+rtrim(amount)+ ', ' 
 from A 
 inner join B on A.name_id=B.name_id 
 select @sql=left(@sql, len(@sql)-1), @sql=@sql+ ' from A group by ida ' 
 exec(@sql)   
 --result 
 ida        name num         amount      name num         amount       
 ---------- ---- ----------- ----------- ---- ----------- -----------  
 001        白菜   11          11          苹果   10          100
------解决方案--------------------两张表的处理更简单:   
 create table t1(id int,ida varchar(8),name_id int,num int,amount int) 
 insert into  t1 select 1, '001 ',1,11,11 
 insert into  t1 select 2, '001 ',2,10,100   
 create table t2(name_id int,name varchar(8)) 
 insert into t2 select 1, '白菜 ' 
 insert into t2 select 2, '苹果 ' 
 go   
 declare @sql varchar(8000) 
 set @sql= ' '   
 select @sql=@sql+ ',[name '+rtrim(name_id)+ ']= ' ' '+name+ ' ' ' ' 
                 + ',[num '   +rtrim(name_id)+ ']=sum(case name_id when  '+rtrim(name_id)+ ' then num    else 0 end) ' 
                 + ',[amount '+rtrim(name_id)+ ']=sum(case name_id when  '+rtrim(name_id)+ ' then amount else 0 end) ' 
 from t2   
 set @sql= 'select ida '+@sql+ ' from t1 group by ida ' 
 exec(@sql) 
 go   
 /* 
 ida      name1 num1        amount1     name2 num2        amount2      
 -------- ----- ----------- ----------- ----- ----------- -----------  
 001      白菜    11          11          苹果    10          100 
 */   
 drop table t1,t2 
 go 
------解决方案--------------------关键是看你的T2 表数据量大不大