[英]Need help in retrieving XML data in SQL Server
我需要帮助从存储在SQL Server表的列中的XML检索数据。 我一直在搜索问题存储库,但找不到与我的匹配的任何内容。 也许我以某种方式错过了。 无论如何,这里存储的XML如下所示:
<ProductStructure>
<Plans>Essential</Plans>
<Plans>Standard</Plans>
<Plans>Silver</Plans>
<Plans>Gold</Plans>
<Plans>Platinum</Plans>
<Plans>Titanium</Plans>
<Destinations>Region A</Destinations>
<Destinations>Region B</Destinations>
<Destinations>Region C</Destinations>
<Destinations>Region D</Destinations>
<InsuredTypes>One Person</InsuredTypes>
<InsuredTypes>Couple</InsuredTypes>
<InsuredTypes>Group</InsuredTypes>
</ProductStructure>
我想选择xml并在SQL中获得如下输出:
|Plans |Essential |
| |Standard |
| |Silver |
| |Gold |
| |Platinum |
| |Titanium |
|---------------+-------------|
|Destinations |Region A |
| |Region B |
| |Region C |
| |Region D |
|---------------+-------------|
|InsuredTypes |One Person |
| |Couple |
| |Group |
抱歉,这个问题是否被可视化。 谢谢。
DECLARE @xml xml = N'<ProductStructure>
<Plans>Essential</Plans>
<Plans>Standard</Plans>
<Plans>Silver</Plans>
<Plans>Gold</Plans>
<Plans>Platinum</Plans>
<Plans>Titanium</Plans>
<Destinations>Region A</Destinations>
<Destinations>Region B</Destinations>
<Destinations>Region C</Destinations>
<Destinations>Region D</Destinations>
<InsuredTypes>One Person</InsuredTypes>
<InsuredTypes>Couple</InsuredTypes>
<InsuredTypes>Group</InsuredTypes>
</ProductStructure>'
SELECT
t.value('local-name(.)','nvarchar(max)'),
t.value('.','nvarchar(max)')
FROM @xml.nodes('ProductStructure/*') AS t(t)
您会得到:
-------------------- --------------------
Plans Essential
Plans Standard
Plans Silver
Plans Gold
Plans Platinum
Plans Titanium
Destinations Region A
Destinations Region B
Destinations Region C
Destinations Region D
InsuredTypes One Person
InsuredTypes Couple
InsuredTypes Group
您可以根据需要将结果分组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.