通过另一个表postgresql连接两个表中的数据

时间:2017-03-22 14:11:26

标签: postgresql join

所以,我正在与之抗争,无法找到解决方案。这是问题所在: 我们有三张桌子。第一个通过id连接到第二个,第三个通过id连接到第二个,并且第一个和第三个之间没有连接。

enter image description here

我需要从第一个表格加入name,从第三个表格加入id的总和。 我试图使用子查询,但未能组织加入。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

所以你有一个三级别的问题。这可能会对你有所帮助

select Tab1.name, sum(Tab3.id)
from Tab1
join Tab2
on Tab1.id = Tab2.tab1_id
join Tab3
on Tab2.id = Tab3.tab2_id
group by Tab1.id

答案 1 :(得分:1)

在三表连接查询中,您可以这样:

    SELECT tab1.name, COUNT(tab3.id) AS sum_ids 
    FROM tab1 INNER JOIN tab2 ON tab1.id=tab2.tab1_id 
    INNER JOIN tab3 ON tab2.id=tab3.tab2_id GROUP BY tab1.id;