Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
uaggster Member Откуда: Сообщений: 952 |
Коллеги, помогите! Не могу сформулировать запрос, хоть ты тресни. Имеется вот такая структура: <R> <X>Иванов</X> <X>Иван</X> <X>Иванович</X> </R> Необходимо получить на выходе: F |I |O Иванов|Иван|Иванович(Т.е. разбитое по столбцам). Прошу обратить внимание, что: 1. Тег для Ф, И, О - ОДИНАКОВЫЙ (блин!!!), иначе б стал я спрашивать :( 2. Для людей без отчества встречаются структуры типа: <R> <X>Саткалиева</X> <X>Алсу</X> </R> Я в ступоре, честно говоря. |
22 фев 13, 17:12 [13968176] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
declare @x xml; set @x = N'<R> <X>Иванов</X> <X>Иван</X> <X>Иванович</X> </R>'; select t.v.value('X[1]', 'nvarchar(1000)'), t.v.value('X[2]', 'nvarchar(1000)'), t.v.value('X[3]', 'nvarchar(1000)') from @x.nodes('R') as t(v); set @x = N'<R> <X>Саткалиева</X> <X>Алсу</X> </R>'; select t.v.value('X[1]', 'nvarchar(1000)'), t.v.value('X[2]', 'nvarchar(1000)'), t.v.value('X[3]', 'nvarchar(1000)') from @x.nodes('R') as t(v); |
22 фев 13, 17:21 [13968209] Ответить | Цитировать Сообщить модератору |
uaggster Member Откуда: Сообщений: 952 |
Гость333, блин, так просто! |
22 фев 13, 17:32 [13968273] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |