MySQL версии 5.7.20.
Не получается связать таблицы. Нужно чтобы в таблице categories, были связаны поля id и parent_id. Нужно выводить название категории. Как правильно сформировать запрос? Вот мой запрос:
SELECT *
FROM products
LEFT JOIN categories AS i1 ON products.id_category = i1.id
LEFT JOIN categories as i2 ON i2.parent_id = i1.id;
Для строго двухуровневой системы категорий:
SELECT p.name,
i1.name subcategory,
i2.name category
FROM products p
LEFT JOIN categories AS i1 ON products.id_category = i1.id
LEFT JOIN categories as i2 ON i1.parent_id = i2.id
Если каждый продукт гарантированно имеет ссылку на существующую подкатегорию, а та столь же гарантированно имеет ссылку на категорию (поддержано внешними ключами), LEFT JOIN заменить на INNER JOIN.
Продвижение своими сайтами как стратегия роста и независимости