2009-11-05 8 views
1

J'ai écrit une procédure stockée sur SQL Server pour renvoyer un fichier XML qui s'affiche ensuite sur un service Web et est intercepté par un LineChart dans Flex pour afficher ses valeurs. Le problème est que je dois afficher des valeurs différentes pour chaque période (j'ai trois périodes différentes: courant, 6 mois, 1 an) et il devient difficile pour moi de générer le xml pour les trois à SQL Server.Exportation de XML dans une procédure stockée SQL Server

Maintenant, je l'ai fait pour la période actuelle, et je ne sais pas comment "concaténer" les deux autres périodes. Ce fichier XML ressemble à ceci:

<dataset> 
    <item> 
    <topic>MyBlog</topic> 
    <topicid>XXXXXXXXXX</topicid> 
    <popularity>1</popularity> 
    <period>11/01/2009</period> 
    </item> 
</dataset> 

Et je voudrais que ce soit quelque chose comme ceci:

<dataset> 
    <item> 
    <topic>MyBlog</topic> 
    <topicid>1111</topicid> 
    <popularity>6</popularity> 
    <period>Current</period> 
    </item> 
    <item> 
    <topic>MyBlog</topic> 
    <topicid>1111</topicid> 
    <popularity>4</popularity> 
    <period>6 month</period> 
    </item> 
    <item> 
    <topic>MyBlog</topic> 
    <topicid>1111</topicid> 
    <popularity>1</popularity> 
    <period>1 year</period> 
    </item> 
</dataset> 

Alors, je ne sais pas si je suis assez clair, mais bien que la XML a l'air bizarre, j'en ai besoin comme ça, donc c'est compatible avec la logique du graphique.

Si vous avez besoin de plus d'informations, faites le moi savoir.

Merci,

Brian

+0

Je viens de réaliser que je ne faisais pas quelque chose de clair Important: XML ne provient pas d'une seule table. Chaque période et valeur respective proviennent d'une table. Ainsi, la requête de la période courante provient d'une table CurrentValues, disons que 6 Month Period provient d'une table 6mValues, et finalement, 1 Year Period provient de 1yValues ​​table. J'ai donc besoin de "concaténer" ces trois résultats dans un fichier XML. –

+0

À quoi ressemble votre procédure stockée? – ajdams

Répondre

1
Select * 
From 
(
    Select '1' As Col1, 'A' As Col2 
    Union 
    Select '2' As Col1, 'B' As Col2 
) Item 
For Xml Auto, Root('Alphabet'), Elements 
+0

Merci! Ça a marché. –

Questions connexes