Суть вопроса в пробросе значения поля в MariaDB, либо в изменении запроса.
Есть две таблицы, подразделения и пользователи:
users (id, name, structure_id)
structure (id, parent_id, name)
- у корневой структуры parent_id = null
Необходимо вывести следующие поля:
users.id, users.name, all_structures
(все названия подразделений до корня через разделитель)
Есть запрос:
SELECT
u.*,
(
WITH
RECURSIVE struct AS (
SELECT cs.*
FROM structure cs
WHERE cs.id = u.structure_id -- ошибка именно тут
UNION ALL
SELECT cs.*
FROM struct s
JOIN structure cs ON cs.id = s.parent_id
)
SELECT GROUP_CONCAT(struct.name SEPARATOR '|')
FROM struct
WHERE
struct.id <> u.structure_id -- тут ошибки нет
) all_structures
FROM users u
Пробовал и через JOIN'ы, но проблема всегда в одном и том же месте.
Заранее спасибо за ответ.