Этот выбор делает два LEFT OUTER JOIN
с table2
(один на основе 'Car', а другой на 'Moto') и гарантирует, что каждый JOIN
вернул результат. DISTINCT
гарантирует, что вы получите каждый идентификатор только один раз.
SELECT DISTINCT t1.id
FROM table2 t2
LEFT OUTER JOIN table2 t2_2 ON t2.id = t2_2.id AND t2_2.feature = 'Moto'
WHERE t2.feature = 'Car'
AND t2_2.id IS NOT NULL
Редактировать: Удалено соединение с таблицей1, поскольку оно действительно не нужно.