Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ms-SQL Разделить записи в xml  [new]
stinggga
Member

Откуда:
Сообщений: 416
Есть следующий xml переменная

+
<Transaction>
<TRANSACTIONID>1234</TRANSACTIONID>
<TRANSFERCURRENCY>UAH</TRANSFERCURRENCY>
<OPERATION>SEND</OPERATION>
<AGENTID>310405</AGENTID>
<AGENTNAME>Банк Носовское отделение</AGENTNAME>
<OPERATOR>Oper1</OPERATOR>
<REFERENCENUMBER>1234567890</REFERENCENUMBER>
<TRANSACTIONDATETIME>19.10.2016 15:11:17</TRANSACTIONDATETIME>
<FACEAMOUNT>2000.0</FACEAMOUNT>
<FEEAMOUNT>5.0</FEEAMOUNT>
<FEEBANKAMOUNT>1.0</FEEBANKAMOUNT>
<TOTALAMOUNT>2005.0</TOTALAMOUNT>
<SENDCODECOUNTRY>UA</SENDCODECOUNTRY>
<SENDER Type="ФЛ">
<LASTNAME>Иванов</LASTNAME>
<NAME>Игорь</NAME>
<MIDDLENAME>Валентинович</MIDDLENAME>
</SENDER>
<SENDERDOCNUM>НК475719</SENDERDOCNUM>
<SENDERRESID>true</SENDERRESID>
<SENDERPHONE>+38(067)4567890</SENDERPHONE>
<AGENTBID>27</AGENTBID>
<AGENTBNAME>Банк Киевская Русь</AGENTBNAME>
<RECEIVECODECOUNTRY>ГФ</RECEIVECODECOUNTRY>
<RECEIVER Type="ФЛ">
<LASTNAME>Доровских</LASTNAME>
<NAME>Ульяна</NAME>
<MIDDLENAME>Александровна</MIDDLENAME>
</RECEIVER>
<STATE>615</STATE>
<DIRECTION1>Допомога родичам</DIRECTION1>
<ADDITIONALINFO>Дополнительная информация по переводу</ADDITIONALINFO>
</Transaction>
<Transaction>
<TRANSACTIONID>12345</TRANSACTIONID>
<TRANSFERCURRENCY>UAH</TRANSFERCURRENCY>
<OPERATION>PAYOUT</OPERATION>
<AGENTID>309635</AGENTID>
<AGENTNAME>Банк Верхнеднепровское отделение</AGENTNAME>
<OPERATOR>Oper2</OPERATOR>
<REFERENCENUMBER>1234567895</REFERENCENUMBER>
<TRANSACTIONDATETIME>19.10.2016 11:56:46</TRANSACTIONDATETIME>
<FACEAMOUNT>200.0</FACEAMOUNT>
<FEEAMOUNT>0.0</FEEAMOUNT>
<FEEBANKAMOUNT>2.0</FEEBANKAMOUNT>
<TOTALAMOUNT>200.0</TOTALAMOUNT>
<SENDCODECOUNTRY>UA</SENDCODECOUNTRY>
<SENDER Type="ЮЛ">
<NAME>ТОВ "Ромашка"</NAME>
</SENDER>
<SENDERDOCNUM>ДОГ №1245</SENDERDOCNUM>
<SENDERRESID>true</SENDERRESID>
<SENDERPHONE>+38(044)4940977</SENDERPHONE>
<AGENTBID>4688</AGENTBID>
<AGENTBNAME>Альфа-Банк Україна</AGENTBNAME>
<RECEIVECODECOUNTRY>UA</RECEIVECODECOUNTRY>
<RECEIVER Type="ФЛ">
<LASTNAME>Сидоров</LASTNAME>
<NAME>Кирил</NAME>
<MIDDLENAME>Петрович</MIDDLENAME>
</RECEIVER>
<RECEIVERDOCNUM>EK347908</RECEIVERDOCNUM>
<STATE>615</STATE>
<DIRECTION1>Виплата преміальних</DIRECTION1>
</Transaction>
<Transaction>
<TRANSACTIONID>1234</TRANSACTIONID>
<TRANSFERCURRENCY>UAH</TRANSFERCURRENCY>
<OPERATION>PAYOUT</OPERATION>
<AGENTID>23565</AGENTID>
<AGENTNAME>Банк Центральное Каховское отделение</AGENTNAME>
<OPERATOR>Oper3</OPERATOR>
<REFERENCENUMBER>1234567890</REFERENCENUMBER>
<TRANSACTIONDATETIME>19.10.2016 16:12:10</TRANSACTIONDATETIME>
<FACEAMOUNT>2000.0</FACEAMOUNT>
<FEEAMOUNT>0.0</FEEAMOUNT>
<FEEBANKAMOUNT>2.0</FEEBANKAMOUNT>
<TOTALAMOUNT>2000.0</TOTALAMOUNT>
<SENDCODECOUNTRY>UA</SENDCODECOUNTRY>
<SENDER Type="ФЛ">
<LASTNAME>Иванов</LASTNAME>
<NAME>Иван</NAME>
<MIDDLENAME>Иванович</MIDDLENAME>
</SENDER>
<SENDERDOCNUM>EK123456</SENDERDOCNUM>
<SENDERRESID>true</SENDERRESID>
<SENDERPHONE>+38(067)4567890</SENDERPHONE>
<AGENTBID>27</AGENTBID>
<AGENTBNAME>Банк Киевская Русь</AGENTBNAME>
<RECEIVECODECOUNTRY>ГФ</RECEIVECODECOUNTRY>
<RECEIVER Type="ФЛ">
<LASTNAME>Петрова</LASTNAME>
<NAME>Ирина</NAME>
<MIDDLENAME>Борисовна</MIDDLENAME>
</RECEIVER>
<RECEIVERDOCNUM>Доверенность №452345</RECEIVERDOCNUM>
<RECEIVERRESID>true</RECEIVERRESID>
<RECEIVERPHONE>+38(044)1234567</RECEIVERPHONE>
<STATE>615</STATE>
<DIRECTION1>Допомога родичам</DIRECTION1>
<ADDITIONALINFO>Дополнительная информация по переводу</ADDITIONALINFO>
</Transaction>
<Transaction>
<TRANSACTIONID>12346</TRANSACTIONID>
<TRANSFERCURRENCY>UAH</TRANSFERCURRENCY>
<OPERATION>SEND</OPERATION>
<AGENTID>310405</AGENTID>
<AGENTNAME>Банк Носовское отделение</AGENTNAME>
<OPERATOR>Oper1</OPERATOR>
<REFERENCENUMBER>1234567896</REFERENCENUMBER>
<TRANSACTIONDATETIME>19.10.2016 15:11:17</TRANSACTIONDATETIME>
<FACEAMOUNT>500.00</FACEAMOUNT>
<FEEAMOUNT>3.00</FEEAMOUNT>
<FEEBANKAMOUNT>1.50</FEEBANKAMOUNT>
<TOTALAMOUNT>503.00</TOTALAMOUNT>
<SENDCODECOUNTRY>UA</SENDCODECOUNTRY>
<SENDER Type="ФЛ">
<LASTNAME>Сидоров</LASTNAME>
<NAME>Сергей</NAME>
<MIDDLENAME>Валентинович</MIDDLENAME>
</SENDER>
<SENDERDOCNUM>НК 123234</SENDERDOCNUM>
<SENDERRESID>true</SENDERRESID>
<SENDERPHONE>+38(067)4567890</SENDERPHONE>
<AGENTBID>27</AGENTBID>
<AGENTBNAME>Банк Киевская Русь</AGENTBNAME>
<RECEIVECODECOUNTRY>ГФ</RECEIVECODECOUNTRY>
<RECEIVER Type="ФЛ">
<LASTNAME>Петрова</LASTNAME>
<NAME>Нина</NAME>
<MIDDLENAME>Ивановна</MIDDLENAME>
</RECEIVER>
<STATE>635</STATE>
<DIRECTION1>Допомога родичам</DIRECTION1>
</Transaction>
<Transaction>
<TRANSACTIONID>12347</TRANSACTIONID>
<TRANSFERCURRENCY>UAH</TRANSFERCURRENCY>
<OPERATION>RETURN</OPERATION>
<AGENTID>310016</AGENTID>
<AGENTNAME>Банк Кривоозерское отделение</AGENTNAME>
<OPERATOR>Oper25</OPERATOR>
<REFERENCENUMBER>1234567897</REFERENCENUMBER>
<TRANSACTIONDATETIME>19.10.2016 08:44:35</TRANSACTIONDATETIME>
<FACEAMOUNT>500.00</FACEAMOUNT>
<FEEAMOUNT>0.0</FEEAMOUNT>
<FEEBANKAMOUNT>0.0</FEEBANKAMOUNT>
<TOTALAMOUNT>500.00</TOTALAMOUNT>
<SENDCODECOUNTRY>UA</SENDCODECOUNTRY>
<SENDER Type="ФЛ">
<LASTNAME>Петров</LASTNAME>
<NAME>Александр</NAME>
<MIDDLENAME>Леонидович</MIDDLENAME>
</SENDER>
<SENDERDOCNUM>НК123234</SENDERDOCNUM>
<SENDERRESID>true</SENDERRESID>
<SENDERPHONE>+38(067)4567890</SENDERPHONE>
<AGENTBID>345345</AGENTBID>
<AGENTBNAME>Ощадбанк</AGENTBNAME>
<RECEIVECODECOUNTRY>UA</RECEIVECODECOUNTRY>
<RECEIVER Type="ФЛ">
<LASTNAME>Петрова</LASTNAME>
<NAME>Анна</NAME>
<MIDDLENAME>Александровна</MIDDLENAME>
</RECEIVER>
<RECEIVERDOCNUM></RECEIVERDOCNUM>
<STATE>650</STATE>
<DIRECTION1>Допомога родичам</DIRECTION1>
</Transaction>


Необходимо создать select с отдельными записями
1) <Transaction>....</Transaction>
2)<Transaction>....</Transaction>
....

Как это сделать средствами t-sql

Сообщение было отредактировано: 9 ноя 16, 17:56
9 ноя 16, 17:12    [19876035]     Ответить | Цитировать Сообщить модератору
 Re: Ms-SQL Разделить записи в xml  [new]
invm
Member

Откуда: Москва
Сообщений: 9844
select
 t.n.query('.')
from
 @переменная.nodes('/Transaction') t(n);
9 ноя 16, 17:45    [19876197]     Ответить | Цитировать Сообщить модератору
 Re: Ms-SQL Разделить записи в xml  [new]
stinggga
Member

Откуда:
Сообщений: 416
invm,

Спасибо
9 ноя 16, 17:48    [19876207]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить