我得到了一个包含以下列和一些示例数据的表格:
ID Title FieldsXml [nvarchar(max)]
-- ----- -------------------------
1 A <Fields><Field Name="X">x1</Field><Field Name="Y">y1</Field></Fields>
2 B <Fields><Field Name="Y">y2</Field><Field Name="Z">z2</Field></Fields>
3 C <Fields><Field Name="Z">z3</Field></Fields>
我需要查询它以获得这样的结果:
ID Title X Y Z
-- ----- -- -- --
1 A x1 y1
2 B y2 z2
3 C z3
xml 字段应该保证格式正确并匹配模式,即使它是 nvarchar 而不是 xml 类型。但是,Name 属性的值是未知的。
我正在使用 SQL Server 2008。如有必要,我可以使用存储过程,但我正在寻找一种可以避免这种情况并避免动态 SQL 的解决方案。不可能写出这样的查询吗?
如果存储过程或动态 sql 是唯一的方法,我愿意使用它的解决方案。