根据所需的布局(下面)将以下XML块解析为SQL Server表的正确方法是什么?是否可以使用单个SELECT语句,没有UNION或循环?任何接受者?提前致谢.输入XML:
<ObjectData>
<Parameter1>some value</Parameter1>
<Parameter2>other value</Parameter2>
<Dates>
<dateTime>2011-02-01T00:00:00</dateTime>
<dateTime>2011-03-01T00:00:00</dateTime>
<dateTime>2011-04-01T00:00:00</dateTime>
</Dates>
<Values>
<double>0.019974</double>
<double>0.005395</double>
<double>0.004854</double>
</Values>
<Description>
<string>this is row 1</string>
<string>this is row 2</string>
<string>this is row 3</string>
</Values>
</ObjectData>
Run Code Online (Sandbox Code Playgroud)
所需的表输出:
Parameter1 Parameter2 Dates Values Description
Some value Other value 2011-02-01 00:00:00.0 0.019974 this is row 1
Some value Other value 2011-03-01 00:00:00.0 0.005395 this is row 2
Some value Other value 2011-04-01 00:00:00.0 0.004854 this is row 3
Run Code Online (Sandbox Code Playgroud)
我在使用OPENXML或xml.nodes()功能的SELECT SQL语句之后.例如,以下SELECT语句导致值和日期之间的生成(即值和日期的所有排列),这是我想要避免的.
SELECT
doc.col.value('Parameter1[1]', 'varchar(20)') Parameter1,
doc.col.value('Parameter2[1]', 'varchar(20)') Parameter2, …Run Code Online (Sandbox Code Playgroud)