MS SQL 有一种方便的解决方法,可以将多行中的列值连接成一个值:
SELECT col1
FROM table1
WHERE col2 = 'x'
ORDER by col3
FOR XML path('')
这会返回一个很好的记录集:
XML_F52E2B61-18A1-11d1-B105-00805F49916B
----------------------------------------
<col1>Foo</col1><col1>Bar</col1>
只是返回的记录集中的列名相当令人讨厌!
列名称似乎包含随机元素(或 GUID),因此我不愿意在我的应用程序中使用它(不同的实例或不同的服务器可能有另一个 GUID)。不幸的是,我无法使用 * 来选择值,并且由于现有应用程序中的限制,我也无法迭代返回的列...
有没有办法强制返回的记录集中的列名更合理?
那应该做:
select(
SELECT col1
FROM table1
WHERE col2 = 'x'
ORDER by col3
FOR XML path('')
) as myName
不漂亮,但应该给出您需要的结果
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)