【发布时间】:2021-03-11 12:49:47
【问题描述】:
试图查询出一些 XML 数据,数据的结构如下所示。 (但行数要多得多)。
<FIELD>
<ROW>
<FIELD name="LI_PRODID">1</FIELD>
<FIELD name="LI_QTY">3</FIELD>
<FIELD name="CALC_UOM">1</FIELD>
</ROW>
<ROW>
<FIELD name="LI_PRODID">2</FIELD>
<FIELD name="LI_QTY">4</FIELD>
<FIELD name="CALC_UOM">1</FIELD>
</ROW>
</FIELD>
我有以下几点:
DECLARE @nameElement NVARCHAR(30) = '"LI_PROD"';
SELECT
col.value('(FIELD/ROW/FIELD[name=sql:variable("@nameElement")])[1]', 'nvarchar(30)')
FROM
Table
我将如何实际将不同行上的每个“LI_PRODID”作为一列,然后为每一行重复每个“LI_PRODID”?
【问题讨论】:
-
你能标记 DBMS 吗?
-
在提出问题时,您需要提供一个可重现的最小示例。请参考以下链接:stackoverflow.com/help/minimal-reproducible-example 请提供以下内容: (1) DDL 和样本数据填充,即 CREATE table(s) 加上 INSERT T-SQL 语句。 (2) 你需要做什么,即逻辑和你的代码尝试在 T-SQL 中实现它。 (3) 期望的输出,基于上面#1 中的样本数据。 (4) 你的 SQL Server 版本 (SELECT @@version;)
标签: sql xml database xquery-sql