首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从posgres上的多个表聚合不起作用

问从posgres上的多个表聚合不起作用
EN

Stack Overflow用户
提问于 2015-08-14 06:19:46
回答 1查看 29关注 0票数 0

我需要从两个表中计数数据,并在单个输出中显示它们。

我有两张桌子

代码语言:javascript
复制
branches 
atms

我需要像下面这样显示输出

代码语言:javascript
复制
bank_id atms branches
1        20  30   

下面的查询在mysql上运行得很好,但在posgres中却没有任何进展。

代码语言:javascript
复制
SELECT * from (
    (SELECT count(*)  FROM branches where bank_id=30) as branch_count  ,

    (SELECT count(*)   FROM atms where  bank_id=30) as atm_count
    )tmp
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-14 06:26:16

如果您只查看一个bank_id,则不需要那么多子查询:

代码语言:javascript
复制
SELECT  (SELECT count(*)  FROM branches where bank_id=30) as branch_count  ,
        (SELECT count(*)   FROM atms where  bank_id=30) as atm_count

但是,如果您想获得所有银行的所有统计数据,假设您有一个表banks来保存所有的bank_ids,那么下面的查询会有帮助:

代码语言:javascript
复制
SELECT  *
FROM    banks B
        LEFT JOIN (SELECT BR.bank_id, count(*) branch_count FROM branches BR GROUP BY BR.bank_id) as BC
             ON BC.bank_id = B.bank_id
        LEFT JOIN (SELECT AT.bank_id, count(*) atm_count  FROM atms AT GROUP BY AT.bank_id) as AC
             ON AC.bank_id = B.bank_id
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32003482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档