【发布时间】:2019-11-22 18:49:09
【问题描述】:
使用这个 XML :
<attrs>
<attr multiple="true" name="LETTER">
<string>A</string>
<string>B</string>
<string>C</string>
<string>D</string>
</attr>
<attr multiple="true" name="NUMBER">
<string>1</string>
<string>2</string>
<string>3</string>
<string>4</string>
</attr>
...
</attrs>
我正在尝试使用 XMLTABLE 获得此结果:
+------+--------+--------+
| REF | LETTER | NUMBER |
+------+--------+--------+
| REF1 | A | 1 |
| REF1 | B | 2 |
| REF1 | C | 3 |
| ... | ... | ... |
+------+--------+--------+
我对 Xpath 很不满意,我被困在这里,但这个 concat all values :
XMLTABLE('/attrs'
PASSING XMLTYPE(XML)
COLUMNS LETTER VARCHAR2(50) PATH 'attr[@name="LETTER"]',
NUMBER VARCHAR2(50) PATH 'attr[@name="NUMBER"]'
) X
谢谢。
【问题讨论】:
-
请始终说明您正在使用的数据库引擎的确切版本。 (应该有标签,添加标签就足够了。)
-
对不起,我刚刚添加了 oracle12c 标签
-
你有固定数量的
string元素(更容易)还是动态数量(更难;)
标签: sql oracle xpath oracle12c