机械装备数据库

SQL合并两个表的问题

我想用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

13同行回答

girlgirl销售dsac
哦,明白了,呵呵,谢谢你显示全部
哦,明白了,呵呵,谢谢你收起
机械装备 · 2011-05-20
浏览1006
zhenyafanzhenyafan系统工程师
表别名不加asselect table1.col1,table1.col2,table2.col2 from table1 inner join table2  asdfon table1.col1=asdf.col2显示全部
表别名不加as
select table1.col1,table1.col2,table2.col2
from table1 inner join table2  asdf
on table1.col1=asdf.col2收起
IT分销/经销 · 2011-05-20
浏览1042
girlgirl销售dsac
我没有加括号 也报错显示全部
我没有加括号 也报错收起
机械装备 · 2011-05-20
浏览966
zhenyafanzhenyafan系统工程师
语法写错了显示全部
语法写错了收起
IT分销/经销 · 2011-05-20
浏览1088
girlgirl销售dsac
join 和as 不能同时用么?如上面的显示全部
join 和as 不能同时用么?如上面的收起
机械装备 · 2011-05-20
浏览1090
girlgirl销售dsac
按照你的方法啊,呵呵,谢谢显示全部
按照你的方法啊,呵呵,谢谢收起
机械装备 · 2011-05-20
浏览1089
zhenyafanzhenyafan系统工程师
咋搞定的?显示全部
咋搞定的?收起
IT分销/经销 · 2011-05-20
浏览1102
girlgirl销售dsac
谢谢问题搞定另:join 和as 不能同时用么,如下:select table1.col1,table1.col2,table2.col2 from table1 join table2 (as asdf)on table1.col1=table2.col2有as 报错,去掉as 的时候正常显示全部
谢谢

问题搞定

另:join 和as 不能同时用么,如下:

select table1.col1,table1.col2,table2.col2 from table1 join table2 (as asdf)on table1.col1=table2.col2

有as 报错,去掉as 的时候正常收起
机械装备 · 2011-05-20
浏览1095
zhenyafanzhenyafan系统工程师
select t1.省份,t1.2009年产生量, t2.2010年产生量(select 省份,2009年产生量,row_number() over() as rn1from t1order by 省份)t1,(select 省份,2010年产生量,row_number() over() as rn2from t2order by 省份)t2where t1.rn1=t2.rn1但是 如果表中数据有问题的话,这条语...显示全部
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
浏览1141
dengchen0504dengchen0504数据库管理员联信永益
看看可以不: select     value(a.pro_name,b.pro_name),     a.qty,     b.qty from a full outer join     b on (a.name = b.name) 或者 select     t.pro_name,     sum(qty_ly),     sum(qty) from (   &...显示全部
看看可以不:
select
    value(a.pro_name,b.pro_name),
    a.qty,
    b.qty
from a
full outer join
    b
on (a.name = b.name)
或者
select
    t.pro_name,
    sum(qty_ly),
    sum(qty)
from
(
    select
        a.pro_name,
        a.qty qty_ly,
        0 qty
    from a
    union all
    select
        b.pro_name,
        0 qty qty_ly,
        b.qty qty
    from b
) as t
group by t.pro_name
收起
2011-05-20
浏览1148

提问者

girl
销售dsac

相关问题

相关资料

相关文章

问题状态

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