【问题标题】:suggestions on query to get counts from other tables on a postgres db查询建议以从 postgres 数据库上的其他表中获取计数
【发布时间】:2018-05-08 23:35:36
【问题描述】:

我正在尝试创建一个查询,该查询返回具有来自两个辅助表的计数的成员列表。

我的 members 表包含多个共享相同 parent_id 的成员。

我还有另外两个表,每个成员都有多个条目。我试图产生的结果是一个特定 parent_id 的成员列表,以及每个成员来自 table2 和 table3 的记录计数

结果会是这样的

member_id, parent_id, name, count(table2.member_id), count(table3.member_id)

感谢您的帮助

table members

member_id   int primary key
parent_id   int  
name        varchar


table 2    ( member_id will have multiple records for each member )

t2_id      int primary key
member_id  int
data_2     int


table 3    ( member_id will have multiple records )

t3_id      int primary key
member_id  int
data_3     int

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    您可以使用相关子查询:

    select m.*,
           (select count(*) from table2 t2 where t2.member_id = m.member_id
           ) as num_t2,
           (select count(*) from table3 t3 where t3.member_id = m.member_id
           ) as num_t3
    from members m;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      • 1970-01-01
      • 2021-09-01
      相关资源
      最近更新 更多