当前位置:数据库 > SQLServer >>

一个查询的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

上一个:ms SQL server数据库备份、压缩与SQL数据库数据处理的方法
下一个:问个高难度的复杂查询(在一个时间段内的间隔查询)

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,