Ich habe hier einen kleinen Auszug der XML-Dateien werde ich behandeln müssen:Erste XML-Knoten-Wert und alle verschachtelten Spalte Knoten
<garRoot fileMaster="9371034.0582.30582">
<garTransactions>
<garTransaction InnerTransId="89274503">
<garSection>
<garSectionCounterFName />
<garColumns />
<garSection>
<garSectionName>Header Section</ChapterName>
<garSectionCounterFName />
<garColumns />
<garSection>
<garSectionName>Startup</ChapterName>
<garSectionCounterFName />
<garColumns>
<garColumn>
<garColText>Idea Date:</garColText>
<garColVal>2017-03-22</garColVal>
</garColumn>
<garColumn>
<garColText>Idea Name:</garColText>
<garColVal>The Invisible Cloak</garColVal>
</garColumn>
</garColumns>
</garSection>
ich einige Code versucht haben, um zu versuchen:
starten für jede
garTransaction
dieInnerTransId
Werte mit bekommen:SELECT T.value('./@InnerTransID','varchar(50)') As InnerTransID FROM @XML.nodes('//garTransaction') AS GarT(T)
Denn in Wirklichkeit hat es
garSection
in anderengarSection
verschachtelt worden Ich habe versucht, allegarColText
undgarColVal
übergarColumn
zu erhalten:SELECT C.query('./garColText') As cText , C.query('./garColVal') As cVal FROM @XML.nodes('//garColumn') as garC(C)
Wo ich Probleme habe, ist, als Beispiel Ich weiß, dass ich 145 Spalten für jede Transaktionsidentifikation habe, aber ich kann nicht scheinen, die Daten zusammen zu verbinden, da ich zurückgegeben werden müsste:
InnerTransId cText cVal
--------------- ----------- -------------------
89274503 Idea Date: 2017-03-22
89274503 Idea Name: The Invisible Cloak
Vielen Dank !!! Die Abfrage funktionierte perfekt; jetzt versuche ich es nur zu verstehen ~ Ich hoffe, ich kann noch ein paar Fragen stellen, während ich mit der SQL-Anweisung herumspiele? -> Ich hatte gestern eine äußere Anwendung versucht, die gerade 10x mehr Reihen zurückgab! – Busy