Postgres Select Query:SELECT其他两个表中的出现次数

时间:2016-02-10 08:29:14

标签: postgresql

我想在另外两张桌子中选择单个玩家的总出场次数。

这是我的数据库结构(postgres):

Table: Player
id              integer

Table: World Champions
id              integer
year            date
player_id       integer

Table: European Champions
id              integer
year            date
player_id       integer

表格播放器上的id也可以在表格“World Champions”和“European Champions”(player_id)中找到。 我想选择如下数据:

player.id       worldChampionTitles     europeanChampionTitles
1               3                       4
2               1                       0
3               0                       0
4               1                       1

但我不知道如何编写我的选择查询。

1 个答案:

答案 0 :(得分:1)

子查询很简单:

SELECT p.id
     , (SELECT count(*) FROM "World Champions" AS c WHERE c.player_id = p.id)
         + (SELECT count(*) FROM "European Champions" AS c WHERE c.player_id = p.id)
FROM Player AS p