2010-11-10 6 views
0

Je génération XML à partir des tables avec des requêtes comme celui-ciGénérer et combiner FOR XML AUTO

SELECT * 
    FROM Rp 
FOR XML AUTO 

SELECT * 
    FROM Ind 
FOR XML AUTO 

Je voudrais combiner un tas de ces derniers et générer un seul fichier xml probablement quelque chose que je peux automatiser dans VS2010

des pointeurs?

Répondre

0

trouvé, cela fonctionne

Select 
    (SELECT * FROM Rp FOR XML AUTO, TYPE) 
, 
    (SELECT * FROM Ind FOR XML AUTO, TYPE) 

    FOR XML PATH('Root') 
-1

combiner comment? vous pouvez simplement utiliser UNION

SELECT * FROM Rp 
FOR XML AUTO 
UNION 
SELECT * FROM Ind 
FOR XML AUTO 
+1

Je reçois cette erreur en cours d'exécution de cette requête, il semble que vous ne pouvez pas faire l'union sur FOR XML AUTO sélectionne – AppDeveloper

+0

C'est l'erreur "Syntaxe incorrecte près du mot-clé" UNION "" pressé entrer trop tôt :) – AppDeveloper

+0

aussi pour répondre à votre question sur la façon dont je veux obtenir toutes les données de chacune des tables (Rp, Ind et plusieurs autres) mais je veux combiner tous les fragments xml résultant en un xml – AppDeveloper

0
SELECT ID,SUBSTRING(
    (
    SELECT ',' + [Name] 
    FROM MyTable C 
    WHERE P.ID=C.ID 
    ORDER BY [Name] 
    FOR XML PATH('') 
    ),2,2000) as [Name] 

FROM MyTable P 
GROUP BY ID