Message posté par : Nicolas Ribot
----------------------------------------
Bonjour,
L'union ou union all est obligatoire dans une CTE recursive, c'est comme ca
qu'a chaque itération, le résultat précédent peut etre ajouté au résultat courant.
Plusieurs erreurs dans votre code:
• la cte déclare 3 champs alors que votre select en liste 5: les champs déclarés dans la
cte doivent correspondre aux champs des select de la CTE (vous pouvez omettre la
déclaration des champs dans la cte aussi)
• il manque une virgule avant le dernier champ du premier select (t.pollu_19).
• il manque une condition de stop je pense dans la partie UNION de la CTE: sans cela, la
recursion ne s'arrete jamais.
La logique de ce type de CTE n'est pas facile a comprendre je trouve: essayez sur un
exemple simple (peu de lignes dans la table de départ) pour vous familiariser avec ce
concept de récursion. (la doc donne qq exemples, avec notamment la gestion des conditions
de stop)
Nicolas
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=345961#p345961
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net