PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Requête SQL et récursivité (récursion) : libellé de cette requête ??
Requête SQL et récursivité (récursion) : libellé de cette requête ??
Iniciado por EB, 06,abr. 2020 08:22 - No hay respuesta
Miembro registrado
3 mensajes
Publicado el 06,abril 2020 - 08:22
Bonjour,

Je ne connais pas assez bien le langage SQL. L'essentiel des requêtes étant traitées par l'éditeur de requêtes de Windev, sauf qu'il ne traite pas le cas présent (enfin je crois). Voici ma problématique :

J'ai des contacts organisés de manière hiérarchique (sans limite), avec les fichiers et rubriques suivantes :

CONTACTS : IdContact, LibelléContact, IdParentNPlus1, IdParentPremierNiveau, IdAdresse
ADRESSES : IdAdresse, LibelléAdresse
Liaisons : ADRESSES.IdAdresse (0,n) > (0,1) CONTACTS.IdAdresse (plusieurs contacts peuvent avoir la même adresse)
et CONTACTS.IdContact (0,n) > > (0,1) CONTACTS.IdParent (lien récursif puisque plusieurs contacts peuvent avoir "pour parent ou Contact N+1" un autre contact.

Je souhaite éditer la liste des contacts avec 4 colonnes : LibelléContact, LibelléContact du Parent(N+1), LibelléContact du Parent de PremierNiveau (sommet de la hiérarchie), LibelléAdresse.

Simple est la requête qui donne les libellés du Contact et de l'Adresse :
"SELECT CONTACTS.LibelléContact AS LibelléContact, CONTACTS.IdParent AS IdParent, CONTACTS.IdParentPremierNiveau AS IdParentPremierNiveau, ADRESSES.LibelléAdresse AS LibelléAdresse
FROM ADRESSES, CONTACTS
WHERE ADRESSES.IdAdresse = CONTACTS.IdAdresse
ORDER by LibelléContact Asc"

Comment libeller la requête pour obtenir directement les libellés des IdParent et IdParentPremierNiveau ?

Merci beaucoup pour votre apport.