У меня есть XML как
<root sxfversion="1.6" gendate="2020-01-23 16:16:40">
<products>
<p>
<id>8244</id>
<name>
NAME OF ARTICLE
</name>
<reference>622801</reference>
<ean13>3232870162282</ean13>
<stock>17</stock>
<price>
<tax>23</tax>
<netto>9.2</netto>
<brutto>11.32</brutto>
</price>
</p>
</products>
</root>
Я пытаюсь сделать запрос, например:
SELECT
*
FROM
OPENXML(@int, '/root/products/p', 2)
WITH
(id int,
name varchar(40),
ean13 varchar(20)
)
, и это работает.
![enter image description here](https://i.stack.imgur.com/9iOpB.png)
Теперь я хочу использовать другой (вложенный) столбец - цена (налог, нетто, брутто).
Я могу это сделать с такой модификацией запроса (сверление вверх ), и это также работает:
SELECT
*
FROM
OPENXML(@int, '/root/products/p/price', 2)
WITH
(
id int '../id',
name varchar(40) '../name',
ean13 varchar(20) '../ean13',
netto varchar(10),
brutto varchar(10),
tax varchar(10)
)
НО, почему что-то подобное (сверление вниз не работает должным образом? Это дублирует значение цены каждой строки на все строки.
Можно сверлить вниз ?
SELECT *
FROM OPENXML(@int, '/root/products/p', 2)
WITH ( id varchar(10),
name varchar(40),
ean13 varchar(20),
netto varchar(10) '../p/price/netto',
brutto varchar(10) '//price/brutto',
tax varchar(10) '//price/tax')
![enter image description here](https://i.stack.imgur.com/TYOTE.png)