У меня есть требование разделить данные CSV внутри столбца узла XML и отобразить их в виде отдельных записей.Я использую SQL Server 2012. Я хочу запрос без создания функции.
Данные приведены, например,
ID : 1
XMLvalue : <BETA>
<SERIAL NAME="ASSESSMENT"> ASSESSMENT=1,ASSESSMENT=2,ASSESSMENT=3</SERIAL>
<SERIAL NAME="PROJECT"> PROJECT=1,PROJECT=2,PROJECT=3</SERIAL>
</BETA>
ID : 2
XMLvalue : <BETA>
<SERIAL NAME="ASSESSMENT"> ASSESSMENT=4,ASSESSMENT=5,ASSESSMENT=6</SERIAL>
<SERIAL NAME="PROJECT"> PROJECT=4,PROJECT=5,PROJECT=6</SERIAL>
</BETA>
ID : 3
XMLvalue : <BETA>
<SERIAL NAME="ASSESSMENT"> ASSESSMENT=7,ASSESSMENT=8,ASSESSMENT=9</SERIAL>
<SERIAL NAME="PROJECT"> PROJECT=7,PROJECT=8,PROJECT=9</SERIAL>
</BETA>
Вывод должен быть следующим:
ID Assessment/PROJECT
1 ASSESSMENT=1
1 ASSESSMENT=2
1 ASSESSMENT=3
2 ASSESSMENT=4
2 ASSESSMENT=5
2 ASSESSMENT=6
3 ASSESSMENT=7
3 ASSESSMENT=8
3 ASSESSMENT=9
1 PROJECT=1
1 PROJECT=2
1 PROJECT=3
2 PROJECT=4
2 PROJECT=5
2 PROJECT=6
3 PROJECT=7
3 PROJECT=8
3 PROJECT=9
Я хочу получить вышеуказанный вывод без создания функции и только с использованием запроса.Мне не удалось создать скрипту SQL, поэтому ниже приводятся инструкции create и insert.
CREATE TABLE Chart (StoreID int PRIMARY KEY,
XMLvalue xml);
INSERT INTO Chart
VALUES (1, '<BETA>
<SERIAL NAME="ASSESSMENT"> ASSESSMENT=1,ASSESSMENT=2,ASSESSMENT=3</SERIAL>
<SERIAL NAME="PROJECT"> PROJECT=1,PROJECT=2,PROJECT=3</SERIAL>
</BETA>');
INSERT INTO Chart
VALUES (2, '<BETA>
<SERIAL NAME="ASSESSMENT"> ASSESSMENT=4,ASSESSMENT=5,ASSESSMENT=6</SERIAL>
<SERIAL NAME="PROJECT"> PROJECT=4,PROJECT=5,PROJECT=6</SERIAL>
</BETA>');
INSERT INTO Chart
VALUES (3, '<BETA>
<SERIAL NAME="ASSESSMENT"> ASSESSMENT=7,ASSESSMENT=8,ASSESSMENT=9</SERIAL>
<SERIAL NAME="PROJECT"> PROJECT=7,PROJECT=8,PROJECT=9</SERIAL>
</BETA>');
Это продолжение моего предыдущего поста. Как разделить значения, разделенные запятыми, хранящиеся в узле XML Без использования функции - SQL Server 2012
Обратите внимание, что выходные данные обоих требований различны.