Мне дали таблицу со следующими столбцами и некоторыми примерами данных:
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 являются единственным способом, я открыт для решения, использующего это.