2010-09-29 65 views
2

我很好奇,如果有可能从富 做以下在单个SQL查询中使用聚合函数

选择ID 其中foo.bar = (选择FOO SUM(巴) )

不使用子查询。

编辑:为了澄清,我试图用postgresql来做到这一点,它似乎不支持迄今发布的两个解决方案。

+0

'选择SUM(巴)不太清楚从foo'将整个表foo返回一个值。这是你想要实现的,还是你的实际需求更复杂,如果它更复杂,你能给我们更多的细节吗? – 2010-09-29 14:30:47

回答

2

您可以尝试类似的事情,使用连接,但它是比子查询

SELECT f1.id 
FROM foo f1 
CROSS JOIN foo f2 
WHERE f1.bar = SUM(f2.bar) 
GROUP BY f1.id, f1.bar 
2
Its not possible to write it without sub query 
see the Below Link for more Help 
http://www.postgresql.org/docs/8.1/static/tutorial-agg.html