#php #mysql
#php #mysql
Вопрос:
Вот DB
структура
-------------------------------------------------------
| id | cat_title | parent-cat_id | status |
-------------------------------------------------------
| 1 | Main | null | enabled |
| 2 | Child | 1 | enabled |
-------------------------------------------------------
Я написал этот запрос для самосоединения
SELECT a.id as ID, a.cat_title as Title, s.cat_title as parent_category
FROM store_categories a
LEFT JOIN store_categories s ON s.parent_cat_id =a.id
Но это дает мне такой неправильный результат. потому Main
что не было a parent_category
и Child
есть a parent_category
of Main
. и в результате он показывает Main
, имеет a parent_category
и Child
не имеет.
-----------------------------
| ID | Title | parent-cat_id|
-----------------------------
| 1 | Main | Child |
| 2 | Child | null |
-----------------------------
Комментарии:
1. Вы пытались изменить свое предложение ON на
a.parent_cat_id =s.id
2. @NigelRen это работает, спасибо
Ответ №1:
Порядок, в котором вы связываете две версии таблицы, неправильный, вам просто нужно изменить предложение ON …
SELECT a.id as ID, a.cat_title as Title, s.cat_title as parent_category
FROM store_categories a
LEFT JOIN store_categories s
ON a.parent_cat_id =s.id