PHP MySQL Иерархия данных group_concat
Любая помощь будет потрясающей. в настоящее время получил следующий запрос MySQL:
SELECT
GROUP_CONCAT( sp.`slug` SEPARATOR '/' )
FROM
`category` sn, `category` sp
WHERE
sn.lft BETWEEN sp.`lft` AND sp.`rgt`
AND sn.`id` =3
ORDER BY
sp.`lft` ASC;
Без функции group_concat это возвращает желаемые результаты в правильном порядке. как только я применяю group_contact, порядок искажается и становится неправильным. Кто-нибудь знает, как переписать запрос, чтобы дать мне объединенный желаемый результат и в правильном порядке?
Я в растерянности по этому поводу. Кстати, кто-нибудь знает, как переписать его, используя операторы "внутреннего соединения", в отличие от двух имен таблиц, указанных в кавычках рядом друг с другом, так как я не понимаю, как они соединяют две таблицы.
1 ответ
Решение
Попробуй это:
SELECT
GROUP_CONCAT( sp.`slug` ORDER BY sp.`lft` ASC SEPARATOR '/' )
FROM
`category` sn,
INNER JOIN `category` sp
ON sn.lft BETWEEN sp.`lft` AND sp.`rgt`
WHERE
sn.`id` =3