variable dans recursivité
Bonjour,
j'ai un souci avec une requête recursive. La voici :
SELECT
@var := en.id,
en.name,
ti.id,
(
with recursive myCTE (root_id, id, entities_id) as (
SELECT id as root_id,
id,
entities_id
FROM glpi_entities_mega
WHERE glpi_entities_mega.id = @var
union all
SELECT mC.root_id,
mT.id,
mT.entities_id
FROM glpi_entities_mega mT
inner join myCTE mC on mT.id = mC.entities_id
)
SELECT group_concat(id)
FROM myCTE
where id <> root_id
group BY root_id
) AS entities_totale
FROM
glpi.glpi_tickets ti
LEFT OUTER JOIN glpi.glpi_entities_mega en on en.id = ti.entities_id
WHERE
ti.is_deleted = 0
AND ti.id IN (174775,200000)
Ce que je souhaite obtenir, c'est la remonté des mes id de glpi_entities_mega de manière récursive. Cela fonctionne presque, sauf que cela me renvoi toujours le même résultat :
24836 @TEST A FORGE 174775 12769,2103
929 ABCD 200000 12769,2103
Alors que dans le 2eme cas, je devrais avoir 5290,541,2
Si je ne mets pas de variable mais directement en.id, mysql renvoi : unknow column en.id
Je ne vois pas coment obtenir le résultat que je souahite.