rachobanyan
@rachobanyan
junior

Написать 3 sql-запроса к двум таблицам?

Добрый день, уточните, пожалуйста, как написать три запроса(первый запрос я написал, но не уверен, что верно) к двум таблицам
Есть таблица производителей

MF_ID,

MF_NAME



и таблица продуктов



PD_ID,

PD_NAME, (наименование продукции)

PD_MFID (ид производителя)

PD_PRICE



1. Необходимо выбрать тех производителей, у которых нет никаких записей в таблице продуктов
SELECT t1.MF_ID
FROM производители t1
WHERE NOT EXISTS (SELECT t2.PD_MFID FROM продукты t2 WHERE t1.MF_ID = t2.PD_MFID)

2. Выбрать производителя продукта с самой высокой ценой

3. Выбрать 3го по числу разных наименований продукции производителя.
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
@challenger1401
1) SELECT t1.MF_ID, count(*)
FROM `производители` t1
LEFT JOIN `продукты` t2 ON t1.MF_ID = t2.PD_MFID
GROUP BY t1.MF_ID
HAVING count(*)=0

2) SELECT t1.MF_ID, max(t2.PD_PRICE)
FROM `производители` t1
LEFT JOIN `продукты` t2 ON t1.MF_ID = t2.PD_MFID
GROUP BY t1.MF_ID
ORDER BY max(t2.PD_PRICE) DESC

3) SELECT t1.MF_ID, count(*)
FROM `производители` t1
LEFT JOIN `продукты` t2 ON t1.MF_ID = t2.PD_MFID
GROUP BY t1.MF_ID
ORDER BY count(*) DESC
LIMIT 2,1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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