各位老大:
我有一個查詢的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