У меня есть следующая таблица.
Owner_id Owner
-----------------
1 Bill
2 Steve
Animal Owner_fk_id
-----------------------
Cat 1
Dog 1
Lion 2
Car Owner_fk_id
-----------------------
Ferrari 1
BMW 1
Lotus 2
Я хочу перечислить всех животных и автомобилей для владельца, у которого есть хотя бы 1 Ferrari.Поскольку у Билла есть Ferrari, мы перечислим все машины и животных Билла.
Если я использую следующий SQL:
SELECT *
FROM Owner
LEFT JOIN Animal ON (Animal.Owner_fk_id = Owner.Owner_id )
LEFT JOIN Car ON (Car.Owner_fk_id = Owner.Owner_id )
WHERE Car.Car = 'Ferrari'
, я получу
Owner Animal Car
---------------------------
Bill Cat Ferrari
Bill Dog Ferrari
Какой мой желаемый результат:
Owner Animal Car
---------------------------
Bill Cat Ferrari
Bill Cat BMW
Bill Dog Ferrari
Bill Dog BMW
Могу ли я узнать, какой правильный оператор SQL я должен использовать?