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

Schreibe einen Kommentar