Bonjour,
Je dispose d'un document XML donc voici la structure :
La requête que je dois écrire doit me procurer le résultat suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 <A> <B> <C> <D> <E>1509</E> <F>266400</F> <G> <H> <I>7</I> <J>0</J> </H> <H> <I>8</I> <J>0</J> </H> </G> </D> <D> <E>1509</E> <F>280800</F> <G> <H> <I>1</I> <J>0</J> </H> <H> <E>3</E> <F>0</F> </H> </G> </D> </C> </B> </A>
Mais avec la requête suivante:E F I J
----------- -----------
1509 266400 7 0
1509 266400 8 0
1509 280800 1 0
1509 280800 3 0
je ne parviens qu'à obtenir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT D.value('./E[1]', 'INT') E, D.value('./F[1]', 'INT') F, D.query('./G/H/I').value('.', 'INT') I, D.query('./G/H/J').value('.', 'INT') J FROM @xml.nodes('/A/B/C/D') Nodes(D)
Parce qu'on ne peut pas utiliser la méthode nodes ailleurs que dans la clause FROM.E F I J
----------- ----------- ----------- -----------
1509 266400 78 0
1509 280800 13 0
Pourriez-vous m'indiquer la bonne requête à écrire, sans boucle WHILE ni curseur ?
@++![]()
Partager