这是第一张表
张三 语文 80
张三 数学 86
张三 英语 75
李四 语文 80
李四 数学 85
李四 英语 80第2张表是
张三 物理 68
张三 化学 88
李四 物理 77
李四 化学 82 declare @sql varchar(8000)
set @sql='select name[姓名]'
select @sql=@sql+','+subject+'=max(case subject when '''+subject+''' then result else 0 end)'
from (select distinct subject from cj)a
exec(@sql+',号码 from cj a,b where a.name=b.姓名 group by name,号码')declare @sql2 varchar(8000)
set @sql='select name2[姓名]'
select @sql=@sql+','+subject2+'=max(case subject2 when '''+subject2+''' then result2 else 0 end)'
from (select distinct subject2 from cj2)a
exec(@sql+',号码 from cj2 a,b where a.name2=b.姓名 group by name2,号码')
我就是要把这2个转换后的结果结合起来
张三 语文 80
张三 数学 86
张三 英语 75
李四 语文 80
李四 数学 85
李四 英语 80第2张表是
张三 物理 68
张三 化学 88
李四 物理 77
李四 化学 82 declare @sql varchar(8000)
set @sql='select name[姓名]'
select @sql=@sql+','+subject+'=max(case subject when '''+subject+''' then result else 0 end)'
from (select distinct subject from cj)a
exec(@sql+',号码 from cj a,b where a.name=b.姓名 group by name,号码')declare @sql2 varchar(8000)
set @sql='select name2[姓名]'
select @sql=@sql+','+subject2+'=max(case subject2 when '''+subject2+''' then result2 else 0 end)'
from (select distinct subject2 from cj2)a
exec(@sql+',号码 from cj2 a,b where a.name2=b.姓名 group by name2,号码')
我就是要把这2个转换后的结果结合起来
set @sql='select name[姓名]'
select @sql=@sql+','+subject+'=max(case subject when '''+subject+''' then result else 0 end)'
from (select distinct subject from cj)a declare @sql2 varchar(8000)
set @sql='select name2[姓名]'
select @sql=@sql+','+subject2+'=max(case subject2 when '''+subject2+''' then result2 else 0 end)'
from (select distinct subject2 from cj2)a exec(@sql+',号码 from cj a,b where a.name=b.姓名 group by name,号码 union all '+
@sql+',号码 from cj2 a,b where a.name2=b.姓名 group by name2,号码')
服务器: 消息 207,级别 16,状态 3,行 1
列名 'name2' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 'result2' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 'subject2' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 'result2' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 'subject2' 无效。
@sql+',号码 from cj2 a,b where a.name2=b.姓名 group by name2,号码')
把这个结果 我看看
在cj表中的属性是name,subject,result
在cj2表中的属性是name2,subject2,result2
set @sql='select name[姓名]'
select @sql=@sql+','+subject+'=max(case subject when '''+subject+''' then result else 0 end)'
from (select distinct subject from cj)a declare @sql2 varchar(8000)
set @sql2='select name2[姓名]'
select @sql2=@sql2+','+subject2+'=max(case subject2 when '''+subject2+''' then result2 else 0 end)'
from (select distinct subject2 from cj2)a exec(@sql+',号码 from cj a,b where a.name=b.姓名 group by name,号码 union all '+
@sql2+',号码 from cj2 a,b where a.name2=b.姓名 group by name2,号码')
print (@sql+',号码 from cj a,b where a.name=b.姓名 group by name,号码 union all '+
@sql+',号码 from cj2 a,b where a.name2=b.姓名 group by name2,号码')
是没有任何结果的,没有反应,
也就是说只现在我2个分语句的结果