因为有一段时间我在SQL中寻找连接的可能性,以便连接两个xml容器的父节点。
父节点:
select t.id,x."FA_SCHLUESSEL"
from xmldocs t
, xmltable('/Qualitaetsbericht/Organisationseinheiten_Fachabteilungen/Organisationseinheit_Fachabteilung/Fachabteilungsschluessel'
passing t.doc
columns
FA_Schluessel varchar2(12) path 'FA_Schluessel'
) x
子节点:
select t.id,x."OPS_301",x."ANZAHL"
from xmldocs t
, xmltable('/Qualitaetsbericht/Organisationseinheiten_Fachabteilungen/Organisationseinheit_Fachabteilung/Prozeduren/Verpflichtend/Prozedur'
passing t.doc
columns
OPS_301 varchar2(12) path 'OPS_301'
, Anzahl varchar2(40) path 'Anzahl'
) x
我对找到答案感到非常沮丧。任何想法都非常受欢迎。提前谢谢。
答案 0 :(得分:0)
Select
Extract(doc, '/Qualitaetsbericht/Organisationseinheiten_Fachabteilungen/Organisationseinheit_Fachabteilung/Fachabteilungsschluessel/FA_Schluessel' as FA_Schluessel,
Extract(doc, '/Qualitaetsbericht/Organisationseinheiten_Fachabteilungen/Organisationseinheit_Fachabteilung/Prozeduren/Verpflichtend/Prozedure/OPS_301') as OPS_301,
Extract(doc, '/Qualitaetsbericht/Organisationseinheiten_Fachabteilungen/Organisationseinheit_Fachabteilung/Prozeduren/Verpflichtend/Prozedure/Anzahl') as Anzahl
From xmldocs
答案 1 :(得分:0)
SELECT id,
d.*
FROM XMLDocs x,
XMLTable(
'/Data'
PASSING XMLQuery(
'for $i in /Qualitaetsbericht/Organisationseinheiten_Fachabteilungen/Organisationseinheit_Fachabteilung/Prozeduren/Verpflichtend/Prozedur
return <Data>
{$i/OPS_301}
{$i/Anzahl}
{$i/../../../Fachabteilungsschluessel/FA_Schluessel}
</Data>'
PASSING doc
RETURNING CONTENT
)
COLUMNS FA_Schluessel varchar2(12) path 'FA_Schluessel',
OPS_301 varchar2(12) path 'OPS_301',
Anzahl varchar2(40) path 'Anzahl'
) d;