怎样筛选主表中某字段的值不等于子表中某字段值的和的记录?
如题,这个存储过程如何写?
既:
table a:
ID Name Num
1 karl 50
2 Marry 30
3 Bush 55
table b:
b_ID a_ID Item ItemNum
001 1 b_1 10
002 1 b_2 20
003 2 b_1 17
004 2 b_3 13
005 3 b_2 30
其中表 b通过字段a_ID 与表 a的ID相关联。
请问,如果我要查询a表中Num字段的值不等于 b表中ItemNum值的和 的记录该怎么弄?既必须得到如下结果:
ID Name Num
1 karl 50
3 Bush 55
在线等待。。。。。
[解决办法]
select a.* from a,(select a_id,sum(itemNum) ItemNum from b group by a_id)b where a.id=b.a_id and num <> itemnum
[解决办法]
select * from a where num <> (select sum(ItemNum) from b where a_ID=a.ID)
[解决办法]
select * from ta a
left join
(
select a_id,sum(itemnum)as itemnum from tb group by a_id
)b on a.id=b.a_id
where a.num <> b.itemnum