我試圖使用PostgreSQL的Array
類型實現多對多的關係,因爲它比連接表更適合我的用例。我有兩個表格:table1
和table2
。 table1
是關係中的父母,具有child_ids bigint[] default array[]::bigint[]
列。在table1
單行可以在table1.child_ids
列table2
引用數以萬計的向上,所以我想嘗試來限制我的查詢返回到最高10我將如何構建這個查詢量?PostgreSQL 9.4.5:限制內部連接的結果數
我的引用孩子ID的查詢是SELECT *, json_agg(table2.*) as children FROM table1 INNER JOIN table2 ON table2 = ANY(table1.child_ids)
。我不認爲有一種方法可以在不限制整個響應的情況下設置限制。有沒有辦法要麼限制此INNER JOIN,或至少使用子查詢,我可以使用LIMIT
從table2
限制結果的數量?
謝謝你,這完美地工作! – terpak
你碰巧知道是否有方法在knex中使用LATERAL? – terpak
我不知道knex所以我不能幫你在這裏。也許一個新的問題? – Patrick