sql подстановка значений из одной таблицы в другую

есть 2 таблицы: Колеса(Ид, Имя колеса), Машины(Ид, Имя машины, Ид левого колеса, Ид правого колеса)

Между ними две связи по ключам: Car.id_left_wheel ==> wheel.id_wheel Car.id_right_wheel ==> wheel.id_wheel

Таблицы .

Я написал следующие запросы:

SELECT Car.id AS [Ид], Car.name AS [Имя машины], wheel.name AS [Имя левого колеса] FROM Car
INNER JOIN wheel
    ON Car.id_left_wheel = wheel.id_wheel;

SELECT Car.id AS [Ид], Car.name AS [Имя машины], wheel.name AS [Имя правого колеса] FROM Car
INNER JOIN wheel
    ON Car.id_right_wheel = wheel.id_wheel;

SELECT Car.id AS [Ид], Car.name AS [Имя машины], wheel.name AS [Имя левого колеса], wheel.name AS [Имя правого колеса] FROM Car
INNER JOIN wheel
    ON Car.id_left_wheel = wheel.id_wheel
    AND Car.id_right_wheel = wheel.id_wheel;

Логично, что первый запрос возвращает :

Первый запрос

А второй запрос возвращает:

Второй запрос

То третий не возвращает ничего:

Третий запрос

Отсюда вопрос, как мне изменить запрос или что использовать вместо INNER JOIN, что бы вместо id_left_wheel и id_right_wheel в таблице Car подставлялись значения name из таблицы wheel?


Ответы (1 шт):

Автор решения: Akina
SELECT Car.id AS [Ид], 
       Car.name AS [Имя машины], 
       wheel1.name AS [Имя левого колеса], 
       wheel2.name AS [Имя правого колеса] 
FROM Car
INNER JOIN wheel wheel1
    ON Car.id_left_wheel = wheel1.id_wheel
INNER JOIN wheel wheel2
    ON Car.id_right_wheel = wheel2.id_wheel;
→ Ссылка