|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Emmanuel Inscription : janvier 2012 Messages : 1 ![]() |
Bonjour à tous,
je rencontre un pb pour requêter dans une table (SQL 2008) du type F_NOMENCLAT dans laquelle existe 2 colonnes : AR_ref et NO_RefDet pour lesquelles il est possible que NO_RefDet = AR_ref (ce qui constitue un niveau de hiérarchie). Le but est de "mettre à plat" un enregistrement. Pour exemple, le contenu de la table peut-être le suivant : AR_Ref NO_RefDet ------- ---------- A B A C A D D F D G F 1 F 2 avec un résultat attendu qui serait : C1 C2 C3 C4 -- -- -- -- A B A C A D A D F A D F 1 A D F 2 A D G mais la requête suivante échoue lamentablement dès la 3e colonne car elle ne fait que répéter, dans tous les cas, la 2e : with tree (c1,c2,c3) as (select ar_ref,no_refdet,NO_RefDet from F_NOMENCLAT union all select ar_ref,no_refdet,no_refdet from F_NOMENCLAT n inner join tree t on t.c2=n.AR_Ref) select * from tree Merci de me donner vos avisés avis sur le sujet ! |
|
|
00
|
|
|
#2 | ||||||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
D'abord SQL ne permet pas une table avec un nombre de colonnes variables à génération spontanée. Donc il faut regrouper tout le "path" de nomenclature dans une même colonne.
Ensuite votre résultat n'est pas cohérent... En effet sur quel critère retenez vous telle ou telle ligne ? En particulier les lignes suivantes : Code :
Jeu d'essais : Code :
Code :
Code :
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||||||
|
00
|
Copyright © 2000-2012 - www.developpez.com