我有三张桌子:
Vehicle: vehicle_id, vehicle_type
1, motorcycle
2, car
3, van
Owners: person_id, vehicle_id, date_bought
1, 1, 2009
1, 2, 2008
2, 3, 2009
2, 1, 2005
person_id = 1
,
date_bought
所以我想我应该从这个开始:
SELECT * FROM vehicles
LEFT JOIN Owners USING (vehicle_id)
其中返回以下内容:
1, 1, motorcycle, 2009
1, 2, car, 2008
2, 3, van, 2009
2, 1, motorcycle, 2005
然而,我现在无法将其缩小到所需的结果。如果我使用
DISTINCT(car_id)
,没有变化,因为我在加入之前已经选择了不同的车辆ID;它们仅在联接后不明显。如果我使用
WHERE person_id = 1
,我删除了最后两行,所有对van的引用都消失了。如果我使用
GROUP BY car_id
,第一行和最后一行合并,但
购买日期
1, 1, motorcycle, 2009
1, 2, car, 2008
, 3, van,