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;



