Re: mssql косяк с выводом в xml
От: vmpire Россия  
Дата: 07.08.13 12:27
Оценка: 66 (2) +1
Здравствуйте, bastrakov, Вы писали:

B>если спросить его так:

B>select 1 as a FOR XML path('tableRow');
B>то он вернет вполне ожидаемое:
B><tableRow><a>1</a></tableRow>

B>а если спросить так:

B>select 1 as a, 2 as a FOR XML path('tableRow')
B>то тут будет совершенно неожиданное:
B><tableRow><a>12</a></tableRow>

B>т.е. этот умник, обьединил пару разных полей, потому что они имели одинаковые названия в запросе. во

Не косяк, всё работает так, как в документации:
If several subsequent columns share the same path prefix, they are grouped together under the same name.
Отсюда

Если колонки с одинаковыми именами не слкдуют друг за другом, они не группируются:

select 1 as a, 2 as b, 3 as a FOR XML path('tableRow')
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.