Bonjour,
J'ai la requête suivante :qui me donne le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT ( SELECT WM_CONCAT(EXTRACTVALUE(VALUE(COULEUR), '/CHAUSSURES/COULEUR/text()', 'xmlns=' || SCFG.CONFIG_DTO_NAMESPACE)) FROM TABLE(XMLSEQUENCE(EXTRACT(SPE.CONFIG_XML, '//TEINTES/TEINTE[TROUS[text()="true"]]', 'xmlns=' || SCFG.CONFIG_DTO_NAMESPACE))) COULEUR) AS COULEUR_TEINTE, SPE.MOD_ID, SCFG.CONFIG_DTO_NAMESPACE FROM MODELE SPE LEFT JOIN MARQUE SCFG ON SPE.MODELE_ID = SCFG.MODELE_ID WHERE SPE.MODELE_ID = 220
Et la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 COULEUR_TEINTE MOD_ID CONFIG_DTO_NAMESPACE 0193-0192-0194 220 'XXXXXXX'
me donne ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT ( SELECT WM_CONCAT(EXTRACTVALUE(VALUE(COULEUR), '/CHAUSSURES/COULEUR/text()', 'xmlns=' || SCFG.CONFIG_DTO_NAMESPACE)) FROM TABLE(XMLSEQUENCE(EXTRACT(SPE.CONFIG_XML, '//TEINTES/TEINTE[TROUS[text()="true"]]', 'xmlns=' || SCFG.CONFIG_DTO_NAMESPACE))) COULEUR) AS COULEUR_TEINTE, SPE.MOD_ID, SCFG.CONFIG_DTO_NAMESPACE FROM MODELE SPE LEFT JOIN MARQUE SCFG ON SPE.MODELE_ID = SCFG.MODELE_ID WHERE SPE.MODELE_ID IN (95,220)
Il faut savoir que pour le MOD_ID=95 je dois aussi avoir 0193-0192-0194 ! Mais si je fais une clause where avec MOD_ID = 95 alors j'ai les bonnes valeurs 0193-0192-0194!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 COULEUR_TEINTE MOD_ID CONFIG_DTO_NAMESPACE 0193-0192-0194 220 'XXXXXXX' null 95 'XXXYYYY'
Merci de votre réponse !
Partager