机械装备数据库

SQL合并两个表的问题

我想用sql 把下面两个表 合成一个表 select 出来该怎么写?表一: 省份 2009年产生量 湖北 275 湖南 444    四川 55 黑龙江 444表二: 省份 2010年产生量 湖北 78 吉林 756 辽宁 48    四川 58 黑龙江 356合并成第三个表: 省份 2009年产生量 2010年产生量 ...显示全部
我想用sql 把下面两个表 合成一个表 select 出来该怎么写?

表一:
省份 2009年产生量
湖北 275
湖南 444   
四川 55
黑龙江 444

表二:
省份 2010年产生量
湖北 78
吉林 756
辽宁 48   
四川 58
黑龙江 356


合并成第三个表:


省份 2009年产生量 2010年产生量
湖北 275 78
吉林 0(或空) 756  
辽宁 0 48   
湖南 444 0
四川 55 58
黑龙江 444 356收起
参与14

查看其它 12 个回答zhenyafan的回答

zhenyafanzhenyafan系统工程师
select t1.省份,t1.2009年产生量, t2.2010年产生量
(select 省份,2009年产生量,row_number() over() as rn1
from t1
order by 省份
)t1,
(select 省份,2010年产生量,row_number() over() as rn2
from t2
order by 省份
)t2
where t1.rn1=t2.rn1


但是 如果表中数据有问题的话,这条语句就不能完全实现要求,比如两个表中的省份数量不一样的,查询出来的结果就是错误的
IT分销/经销 · 2011-05-20
浏览1165

回答者

zhenyafan
系统工程师
擅长领域: 数据库备份

zhenyafan 最近回答过的问题

回答状态

  • 发布时间:2011-05-20
  • 关注会员:1 人
  • 回答浏览:1165
  • X社区推广