一尘不染

在Postgres SELECT语句中选择另一个表中的行数

sql

我不知道该如何措辞,因此也请为我提供标题。:)

我有两张桌子。我们称它们为AB。该B表具有a_id指向的外键A.id。现在,我想编写一条SELECT获取所有A记录的语句,并在其中添加一列,其中包含结果集中每一行的BA行记录数。

我现在正在使用Postgresql 9,但是我想这将是一个通用的SQL问题?

编辑:

最后,我使用了触发器缓存解决方案,该解决方案在A.b_count每次B更改时都会通过函数进行更新。


阅读 157

收藏
2021-03-17

共1个答案

一尘不染

SELECT A.*, (SELECT COUNT(*) FROM B WHERE B.a_id = A.id) AS TOT FROM A
2021-03-17