这个SQLite select语句有什么问题?

时间:2015-06-29 19:11:50

标签: select sqlite group-by

我有两张桌子:

表1是:

ID    fname    lname
---------------------
11      p1        p2
22      a1        a2

表2是:

ID  fk_id    field1    field2
------------------------------
1     11        2        3
2     22        5        4

我在sqlite中有这个陈述:

select * from Table1
where Table1.id=(select fk_id
                 from Table2
                 where (select sum([field1]-[field2]) 
                        from Table2 GROUP BY [fk_id]) > 0)

我希望这个查询返回Table1的所有行,但它只返回一行!

为什么?!

我无法理解这一点!

1 个答案:

答案 0 :(得分:0)

如果有结果会有所帮助。

所以我猜因为表11 sum(2 - 3)= -1

失败了
select fk_id
                 from Table2
                 where (select sum([field1]-[field2]) 
                        from Table2 GROUP BY [fk_id]) > 0

所以你的结果只有22分。

你可能需要一个abs(sum([field1] - [field2])然后。

相关问题