As title says.. I have XML like so:
<logs>
<Event>
<DriverId>51</DriverId>
<EventID>b31ade0f-1053-4df4-a9dd-ffc76060f3c5</EventID>
<Records>
<Record>
<RecordID>b31ade0f-1053-4df4-a9dd-ffc76060f3c5</RecordID>
</Record>
</Records>
</Event>
<Event>
<DriverId>45</DriverId>
<EventID>3b454377-74c7-4ea2-909e-3ea239b969b3</EventID>
<Records>
<Record>
<RecordID>3b454377-74c7-4ea2-909e-3ea239b969b3</RecordID>
</Record>
<Record>
<RecordID>3b454377-74c7-4ea2-909e-3ea239b969b4</RecordID>
</Record>
<Record>
<RecordID>3b454377-74c7-4ea2-909e-3ea239b969b5</RecordID>
</Record>
</Records>
</Event>
</logs>
And I have SQL like this:
SELECT
e.col.value('./DriverId[1]', 'NVarChar(25)') DriverId,
e.col.value('./EventID[1]', 'UniqueIdentifier') EventId,
-- /Records/Record data:
e.col.value('./Records[1]/Record[1]/RecordID[1]', 'UniqueIdentifier') RecordID
FROM @XML.nodes('//Event') e(col)
It returns 2 rows, but I need second event to be returned as 3 separate rows so I can see set with 4 rows with all different Record IDs
How do I read XML like this with T-SQL?