MS SQL有一个方便的解决方法,用于将多行的列值连接成一个值:
SELECT col1
FROM table1
WHERE col2 = 'x'
ORDER by col3
FOR XML path('')
Run Code Online (Sandbox Code Playgroud)
并返回一个很好的记录集:
XML_F52E2B61-18A1-11d1-B105-00805F49916B
----------------------------------------
<col1>Foo</col1><col1>Bar</col1>
Run Code Online (Sandbox Code Playgroud)
只返回记录集中的列名是相当讨厌的!
列名似乎包含随机元素(或GUID),因此我不愿意在我的应用程序中使用它(不同的实例或不同的服务器可能有另一个GUID).不幸的是我无法使用*来选择值,并且由于现有应用程序中的限制,我无法迭代返回的列,或者......
有没有办法强制返回的记录集中的列名更合理?