MySQL Forums
Forum List  »  French

variable dans recursivité
Posted by: lemoine laurent
Date: June 17, 2024 01:04AM

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.

Options: ReplyQuote


Subject
Views
Written By
Posted
variable dans recursivité
16
June 17, 2024 01:04AM


Sorry, only registered users may post in this forum.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.