@Obemygve

Как вывести данные из объединённых таблиц?

Главная таблица хранит данные о товаре, некоторые поля таблицы ссылаются на другие таблицы:
spoiler
63b2dad243902344321079.png

Выполняя этот запрос:
SELECT * 
  FROM `Product` 
    LEFT JOIN `Popular_product` ON Product.ID = Popular_product.ID_regularProduct 
  WHERE Product.ID = Popular_product.ID_regularProduct;

Выводит:
63b2db7967ac8397717413.png.

Все почти как нужно, только вот вместо id-ишников которые выводятся в результате запроса, нужно получить реальное значение на которое ссылается этот id-ишник; В полях ID_IMG и ID_desc.
  • Вопрос задан
  • 100 просмотров
Решения вопроса 2
shabelski89
@shabelski89
engineer
В вашем SELECT используется * , что значит вывести все поля из таблицы указанной во FROM (то есть product), а то что вы ещё хотите поля из связанной таблицы Popular_product, нужно указать тоже в SELECT.
Так как вы не показали структуру таблицы Popular_product, то покажу пример получения всех полей из каждой, но вам нужно их перечислять явно, например pp.name (если такое поле есть).
Кроме того вы используете JOIN с ключом p.ID = pp.ID_regularProduct , дублировать это в WHERE не требуется.
SELECT
		p.*,
		pp.*
FROM
    `Product` p
    LEFT JOIN `Popular_product` pp ON p.ID = pp.ID_regularProduct;
Ответ написан
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Вам нужно присоединить все нужные таблицы:
https://sqlize.online/sql/mysql57/4a019773eb1c4c99...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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