联接到表中不存在的数据

时间:2019-05-31 21:07:02

标签: postgresql join

我有3张桌子:

person_to_group(许多到许多联接表)  - ID  -group_id  -student_id

组  - ID  -名称

公告  - ID  -group_id  -标题  -内容

我们想创建一个“默认”组,其中包含所有学生都应收到的公告。不幸的是,person_to_group表不包含或将永远不包含对默认组的引​​用,我无法修改或更改此表,因为我们是通过导出从另一个数据库接收数据的。

我可以通过任何方式创建将每个人都映射到默认组的联接查询吗?

当前,查询如下:

SELECT a.*, group.name FROM announcements AS a 
  INNER JOIN groups ON groups.id = announcements.group_id 
  INNER JOIN person_to_group as ptg ON ptg.group_id = groups.id 
  WHERE ptg.student_id = ?;

当前我们收到:

  • A组的公告1
  • A组的公告2
  • B组的公告3

想收到:

  • A组的公告1
  • A组的公告2
  • B组的公告3
  • 默认组的公告4

0 个答案:

没有答案