1
讓我們想象我在MySQL中有兩個表,一個叫做Vehicle,另一個叫Passenger。如何限制來自SQL子查詢或加入的結果
如果我想所有車輛和乘客的完整列表,然後我就可以做這樣的事情:
SELECT *
FROM Vehicle v
LEFT
JOIN Passenger p
ON p.VehicleID = v.VehicleID
LIMIT 0,100
這裏的問題是讓想象,我的車是公交車,和第一有50名乘客,第二輛公共汽車有40輛,第三輛有30輛。上述查詢的限制100將給我第三輛公共汽車上的部分乘客清單。
有沒有辦法創建這樣的查詢,不會拆分連接表的結果?
或者,您可以將LIMITS分別應用於不同的表格嗎?所以我可以說我想每輛車限制10輛車,限制50名乘客?
邏輯上是這樣的:
SELECT * FROM Vehicle (LEFT JOIN Passenger ON Passenger.VehicleID = Vehicle.VehicleID LIMIT 0,50) LIMIT 0, 10
我想知道,這可能會使用某種子查詢的實現?可能是這樣的:
SELECT *, (SELECT * FROM Passenger WHERE Passenger.VehicleID = Vehicle.VehicleID LIMIT 0,50) FROM Vehicle LIMIT 0, 10
但是這不起作用(子查詢只允許返回一行)。
在此先感謝。
JOIN你的子查詢 – Mihai