Wie wählt man den zurückgegebenen Spaltennamen in einer SELECT FOR XML-Abfrage aus?
MS SQL hat eine praktische Abhilfe für die Verkettung einer Spalte aus mehreren Zeilen in einem Wert:
SELECT col1
FROM table1
WHERE col2 = 'x'
ORDER by col3
FOR XML path('')
und gibt eine schöne recordset:
XML_F52E2B61-18A1-11d1-B105-00805F49916B
----------------------------------------
<col1>Foo</col1><col1>Bar</col1>
nur den Namen der Spalte in das zurückgegebene recordset ist ziemlich böse!
Die Spalte name scheint auch zufällige Elemente (oder GUID), und damit bin ich zurückhaltend, um es in meine Anwendung (der verschiedenen Instanzen oder verschiedenen Servern möglicherweise eine andere GUID). Leider kann ich nicht mit * wählen Sie den Wert, und aufgrund der Einschränkungen in den bestehenden Anwendung kann ich nicht Durchlaufen zurückgegebenen Spalten, entweder...
Gibt es eine Möglichkeit zu zwingen, die Namen der Spalte in das zurückgegebene recordset, um etwas sinnvolles?
InformationsquelleAutor der Frage Eero | 2008-11-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dass tun sollten:
Nicht schön aber sollte das Ergebnis, die Sie benötigen,
InformationsquelleAutor der Antwort kristof
Versuchen, diese...
Hinweis: bei weglassen der "Art" nach der "for xml", erhalten Sie (glaube ich) ein string.
InformationsquelleAutor der Antwort Black Light
gespeicherte Prozedur
InformationsquelleAutor der Antwort Vadym Sichkar
EXPLIZITE xml-Generierung - mit den Gewerkschaften, die Sie brauchen, um wrap-Ergebnisse einer mehr Zeit
(Als bonus Ergebnis als XML):
InformationsquelleAutor der Antwort JJ Roman
InformationsquelleAutor der Antwort Mahadev
InformationsquelleAutor der Antwort Mahadev