【发布时间】:2014-02-01 21:55:58
【问题描述】:
我有两个主表 bills 和 billing_items:
bills
_______
id
..
amount
balance
billing_items
______________
id
...
bill_id
我需要根据 billing_items 表中的某些条件获取账单金额和余额的总和(该表引用了其他感兴趣的表)
当我使用以下查询时,我得到了重复:
select sum(b.amount), sum(b.balance)
from bills b left join billing_items bi
on b.id=bi.bill_id;
由于我使用的是 ORM,我无法使用如下子查询(不支持子查询):
select sum(a) from
(select b.amount as a, b.balance
from bills b left join billing_items bi
on b.id=bi.bill_id group by b.id) t;
billing_items 及其引用表的标准被省略,但我需要引用 billing_items
【问题讨论】:
-
考虑提供适当的 DDL 和/或 sqlfiddle 以及所需的结果集
-
那么第一个查询有什么问题呢?您能否解释一下“某些标准”是什么(因为您的查询中没有任何过滤器)。我认为,如果您能用通俗易懂的语言解释您希望结果集是什么样子,那将非常有帮助。
-
我将在内部加入 billing_items 与其他 3 个表(访问过程 -> 访问 -> 推荐人 -> 公司)我需要过滤 company.id
-
VIEWS 不理想,我需要一个代码更改最少的解决方案
-
你能在你的 SQL 和 ORDER BY 中使用@variables 吗?这可能是一个解决方案。