使用和我有一个简单的查询在having子句
select id,
(select sum(totalin) from xorderextra where xorderextra.id = xoi.id) as totalin,
from xorderinfo xoi
group by xoi.id
having (select sum(totalin) from xorderextra where xorderextra.id = xoi.id) > 1000
现在我想知道有没有更好的办法来取代累加滤波器在其声明。这是一个适当的方式来设置的东西,这会伤害一个查询,即。它会不会总结数字两次?
* 新情况*
select xoi.id,
sum(xex.totalin) as totalin,
sum(xooc.totalout) as totalout,
from xorderinfo xoi
inner join xorderextra xex on xex.id = xoi.id
inner join xorderout xoo on xoo.rid = xoi.id
inner join xorderoutcalc xooc on xooc.obracunid = xoo.obracunid
group by xoi.id
having sum(xex.totalin) > 1000
这是返回错误的结果,我怎么能解决这个问题?
什么,如果我想在同一个查询中使用(来自不同表)多资金?我相信使用连接不会返回正确的总和! – mko
如果你想让所有的人都在同一个专栏进行分组,它为什么不能工作? –
不太确定,但我相信通过连接多个表格,您会得到重复的行。我试过上面添加的查询,我得到不正确的总和。 – mko