一个查询的SQL语句请教,希望能够用一条SQL语句得到结果
程序员文章站
2022-11-05 20:10:01
各位老大: 我有一个查询的sql语句请教,希望能够用一条sql语句得到结果,问题如下: &...
各位老大:
我有一个查询的sql语句请教,希望能够用一条sql语句得到结果,问题如下:
表x:
a b c d
------------------
北京 广州 1000 10
北京 深圳 1200 20
北京 上海 500 30
北京 天津 300 40
北京 河南 800 20
表y:
a b
----------
北京 深圳
北京 上海
表z:
a b c d
------------------
北京 广州 200 10
北京 上海 -100 -10
北京 四川 800 50
目的:从表x中去除表y中关键字相同的数据,再加上表z中的数据,关键字相同的要累计(a,b为关键字)
得到如下结果:
a b c d
------------------
北京 广州 1200 20
北京 上海 400 20
北京 河南 800 20
北京 四川 800 50
select a,b,sum(c) as c,sum(d) as d from
(select * from x union all select * from z ) t
where not exits (select 1 from y where y.a=t.a and y.b=t.b)
group by a,b
我有一个查询的sql语句请教,希望能够用一条sql语句得到结果,问题如下:
表x:
a b c d
------------------
北京 广州 1000 10
北京 深圳 1200 20
北京 上海 500 30
北京 天津 300 40
北京 河南 800 20
表y:
a b
----------
北京 深圳
北京 上海
表z:
a b c d
------------------
北京 广州 200 10
北京 上海 -100 -10
北京 四川 800 50
目的:从表x中去除表y中关键字相同的数据,再加上表z中的数据,关键字相同的要累计(a,b为关键字)
得到如下结果:
a b c d
------------------
北京 广州 1200 20
北京 上海 400 20
北京 河南 800 20
北京 四川 800 50
复制代码 代码如下:
select a,b,sum(c) as c,sum(d) as d from
(select * from x union all select * from z ) t
where not exits (select 1 from y where y.a=t.a and y.b=t.b)
group by a,b