Bonjour à tous,

Soit la requête SQL suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SELECT  p.ProductID,
        pt.*,
        a.AlternatifID
FROM    dbo.Product p
        LEFT JOIN dbo.PrixTotal pt ON pt.fkProductID = p.ProductID
        LEFT JOIN dbo.ALTERNATIF a ON a.FKProductID = p.ProductID
WHERE   p.Code = '02041413'
FOR     XML AUTO,
            ELEMENTS,
            ROOT('Produits')
Donnant le fichier XML 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
<Produits>
  <p>
    <ProductID>378485</ProductID>
    <pt>
      <PrixTotalID>12035</PrixTotalID>
      <fkArrondissementID>0</fkArrondissementID>
      <PrixMinimum>0.0000</PrixMinimum>
      <fkProductID>378485</fkProductID>
      <a>
        <AlternatifID>251336</AlternatifID>
      </a>
      <a>
        <AlternatifID>251337</AlternatifID>
      </a>
      <a>
        <AlternatifID>289429</AlternatifID>
      </a>
    </pt>
  </p>
</Produits>
Je ne suis pas super avancé en SQL, mais je me demandais s’il y aurait moyen de faire en sorte que de modifier ma requête pour que le XML ressemble plutôt à ceci :

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
<Produits>
  <p>
    <ProductID>378485</ProductID>
    <a>
      <AlternatifID>251336</AlternatifID>
    </a>
    <a>
      <AlternatifID>251337</AlternatifID>
    </a>
    <a>
      <AlternatifID>289429</AlternatifID>
    </a>    
    <pt>
      <PrixTotalID>12035</PrixTotalID>
      <fkArrondissementID>0</fkArrondissementID>
      <PrixMinimum>0.0000</PrixMinimum>
      <fkProductID>378485</fkProductID>
    </pt>
  </p>
</Produits>
En fait, les "AlternatifID" pourraient être placés n'importe où dans la balise "p", en autant qu'ils soient séparés de la balise "pt".

Un gros merci d'avance de l'aide que vous pourrez m'apporter!