内部连接表的限制

时间:2015-09-29 12:29:24

标签: postgresql

我有一个场景,我正在加入三张桌子并获得结果。

我的问题是我对连接表有限制。

以下为例,我有三张表1)书籍和2)客户3)作者。我需要找到今天出售的书籍列表与作者和客户名称,但我只需要最后的第n个客户,而不是所有通过书籍Id

                   Books            Customer                Authors
              ---------------   ----------------------    -------------
                Id  Name  AID        Id BID Name Date         AID  Name
                 1                 1  1  ABC                1    A1    
                 2                 2  1  CED                2    A2
                 3                 3  2  DFG

我们如何才能实现这一目标?

1 个答案:

答案 0 :(得分:3)

您正在寻找LATERAL

示例:

SELECT B.Id, C.Name
FROM Books B, 
     LATERAL (SELECT * FROM Customer WHERE B.ID=C.BID ORDER BY ID DESC LIMIT N) C
WHERE B.ID = ANY(ids)
  AND Date=Current_date