请问怎么把2个动态转换的查询结果联合到一起来

nwznwz 2008-03-21 09:35:20
还是那个老例子
这是第一张表
张三 语文 80
张三 数学 86
张三 英语 75
李四 语文 80
李四 数学 85
李四 英语 80

第2张表是
张三 物理 68
张三 化学 88
李四 物理 77
李四 化学 82


2个表都经过动态转换exec(@sql)的那转换并显示出来
第一张表显示出来
语文 数学 英语
张三 80 86 75
李四 80 85 80



第二张表显示出来
物理 化学
张三 68 88
李四 77 82



最后要的效果就是把2个查询结果合并起来变成
语文 数学 英语 物理 化学
张三 80 86 75 68 88
李四 80 85 80 77 82


注意最开始是2张表,哪位能够告诉

...全文
64 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
nwznwz 2008-03-21
那2个转化的不是表呢,我的程序是
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个结合起来
回复
cxmcxm 2008-03-21
两原表都是相同结构,先用union all合并之后再按转换规则作转换,不就可得出最后的表来吗?!
回复
liangCK 2008-03-21
select 1表.*,2表.*
from 1表,2表
where 1表.姓名=2表.姓名
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-21 09:35
社区公告
暂无公告