我試圖從一個表與另一個表及其相關的數據一起獲得一定數量的記錄:LEFT OUTER JOIN與LIMIT
它的工作原理,但問題是該限制似乎限制結果的數量而不是我在A中找到的記錄的數量:(
有什麼辦法讓LIMIT只考慮來自A的記錄?因爲來自A的記錄可能在B中有很多相關記錄,我不想限制
我試圖從一個表與另一個表及其相關的數據一起獲得一定數量的記錄:LEFT OUTER JOIN與LIMIT
它的工作原理,但問題是該限制似乎限制結果的數量而不是我在A中找到的記錄的數量:(
有什麼辦法讓LIMIT只考慮來自A的記錄?因爲來自A的記錄可能在B中有很多相關記錄,我不想限制
嘗試將限制放在子查詢中,j在那上面。
SELECT
*
FROM
(
SELECT * FROM tblA WHERE ... ORDER BY ... LIMIT 0,40
)
AS a
LEFT JOIN
tblB AS b
ON a.id = b.target
許多RDBMS將支持這一點,我不知道SQLite。
我想澄清一下這句話:「'A的記錄可能在B中有很多相關記錄,我不想限制這個'」。這意味着你需要從表A中總共獲得40條記錄。這真的是你想要的嗎?或者你想要A中的每個關鍵點有多達40條記錄? –
是的,這就是我想要的。 B可以有任何數量的鏈接到A的記錄的記錄,或者沒有記錄。基本上B就像A的元數據一樣。所以我想從A中查詢40條記錄,如果可能的話也使用相同的查詢獲取元數據 – thelolcat