【发布时间】:2015-10-05 06:10:01
【问题描述】:
我有两个表和两个要编写查询的条件。
我需要加入以下两个表:
- 翻译
- 跨单位
它们由两个表中的 accountID 字段连接,我还想要 trans 表中的 clientID。
其次,我还需要 trans 表中的字段 allocated 为 '%Y',并且我需要 transunit 中每个 accountID 的 units 字段的总和大于0。
我可以加入这两个表,但我正在努力使用这两个条件来过滤数据。
我想从 2 个表中返回的唯一列是:
- 帐户ID
- 客户端ID
- 总和(单位)
这是我目前所拥有的......
select trans.accountID,trans.clientID from
inner join transUnit
on trans.AccountID = transUnit.accountID
where trans.IsAllocated like '%Y%'
这将两个表连接起来,并使用 1 个条件。
我有第二个查询,它按 accountID 对 transunits 表中的所有记录求和。 1 个账户 ID 可以有多个单位记录。我只是在寻找 SUM 大于 0 的 accountID。
select count(*), sum(units) as Sumunits,accountid from transunit
group by accountid
现在棘手的部分,我如何将这两个查询连接在一起,并进行过滤,以便仅在 SUM 大于 0 时显示。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
请显示示例表数据和预期输出。
-
要过滤聚合,
having clause就是你想要的。
标签: sql