Frage:

Ich habe zwei Tabellen, welche ich mit "FOR XML AUTO" in ein XML exportieren möchte.

Die Daten beider Tabellen sollen dabei im selben Node enthalten sein.

Da aber nicht beide Tabellen denselben Namen besitzen können, werden die Daten nicht in denselben Node ausgegeben.


Antwort:

Eine Möglichkeit besteht darin anstelle von "FOR XML AUTO" einfach "FOR XML EXPLICIT" zu benutzen.

Eine zweite Möglichkeit, von welcher man immer wieder in Foren liest, wäre eine VIEW zu erstellen, und darüber "FOR XML AUTO" anzuwenden.

Die eleganteste mir bekannte Lösung ist einfach nach dem FROM anstelle der Tabellen die Daten mittels SELECT zu liefern.

 

Beispiel:

SELECT A, B, C

FROM (Select A, B, C from tbl1 inner Join tbl2 on ...) as [MyNodeName]  

FOR XML AUTO, Type