@0ldn0mad

Как сделать выборку из трех таблиц в SQL?

Не могу понять как сделать запрос на выборку трех полей из трех разных таблиц одной базы.
Во вложении скриншот таблиц, необходимо сделать выборку и показать наименования товаров, наименование подкатегорий и наименование категорий.
Подскажите, пожалуйста, как правильно сформировать запрос?5cb8b2d0f2984678877262.png
  • Вопрос задан
  • 448 просмотров
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
select
t1.name_goods,
t2.name_subcat,
t3.name_cat
from goods t1
left join subcategory t2 on t2.id_subcat = t1.id_subcat
left join category t3 on t3.id_cat = t1.id_cat
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@protsey
Гуглить в сторону JOIN. В данном случае INNER JOIN.
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
У вас есть неопределённость: в category нет subcategory для id_subcat (110, 111).
В goods обрезан id_cat или нет разделения на подкатегории.

А можно и без исправления:
SELECT goods.name_goods, subcategory.name_subcat, category.name_cat
  FROM goods 
    LEFT OUTER JOIN category ON goods.id_cat = category.id 
    LEFT OUTER JOIN subcategory ON goods.id_cat = subcategory.id_subcat / 10
Ответ написан
Ваш ответ на вопрос

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

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