@pillson

Помощь с запросом MySQL?

Добрый вечер. Нужна помощь с запросом.

Таблица car_mark в ней поле id_car_mark и поле name

Получается запрос для получения id_car_mark по name

select id_car_mark from car_mark where name='AC'

И второй запрос если получили id_car_mark в первой таблице

select * from car_model where id_car_mark='1'

Как объединить данный запрос через INNER чтобы не писать 2 запроса, условно получить id по имени из первой таблицы и найти все модели из второй по полученному Id
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
@JohnDidact
Нуб во всём
SELECT cm.* 
FROM
car_mark mk 
LEFT JOIN car_model ml ON ml.id_car_mark = mk.id_car_mark
WHERE mk.name = 'AC'
при условии, что mk.id_car_mark — уникальное значение. Иначе, что-то типа

SELECT ml.*
FROM car_model ml
WHERE ml.id_car_mark = (
 SELECT mk.id_car_mark
 FROM car_mark mk
 WHERE mk.name = 'AC'
)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
SELECT car_model.* 
FROM car_model 
JOIN car_mark ON car_model USING (id_car_mark)
WHERE car_mark.name='AC'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы