Задать вопрос

Помощь с запросом 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
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 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'
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы