SQL比较查询

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:23:06
表ONE
a b
A 10
B 11
表TWO
a c
A 5
A 5
B 4
B 6

TWO表,把等于同一个对象的c值都相加,得出 A的=10 B的=10再拿它与表ONE比,不相符的搜索出来.怎么写这个搜索.

select A.a,A.b from 表ONE A,(select a,sum(c) c from 表TWO group by a) B
WHERE A.b<>B.c
and A.a=B.a

解读:

1.select * from 表ONE, 作为A ,得到:
a b
A 10
B 11
2.select a,sum(c) c from 表TWO group by a, 作为B,得到:
a c
A 10
B 10
3.然后关联两个表A、B,条件A.a = B.a and A.b <> B.c即得出所求结果。

--1楼要加上group by
select
*
from One t1
inner join (select a,sum(c) c from TWO group by a) t2 on t1.a=t2.a
WHERE t1.b<>t2.c

还是没看懂,给详细解释下吧