如何获得以下postgres查询?

时间:2016-07-22 11:22:36

标签: sql postgresql

我有两个表:tableA和tableB。 TableA有一个字段idA,tableB有一个记录idB和idBPtrA,其中idBptrA是指向tableA(idA之一)的指针。

我希望使用postgres从TableA中选择记录在tableB中的记录最少的记录。

类似的东西:

select idA,idB,count(idBPtrA) as c 
from tableA,tableB 
group by idBPtrA 
where idA=idB order by c

这当然不起作用并且给我一个错误,但我认为它应该非常相似......任何想法?

1 个答案:

答案 0 :(得分:0)

我认为这是您想要的查询:

select a.idA, count(b.idB) as c
from tableA a left join
     tableB b
     on a.idA = b.idptrA
group by a.idA 
order by c;

注意:

  • 使用表别名并限定列名(特别是如果您正在学习SQL)。
  • 学习并使用正确的,明确的JOIN语法。简单规则:从不FROM子句中使用逗号。