Zkuste něco takového:
SELECT
ID,
XmlChanges.query('.')
FROM
@test
CROSS APPLY
Changes.nodes('/*') AS Nodes(XmlChanges)
Výsledný výstup by byl:
ID (No column name)
1 <insert pk="1" />
1 <insert pk="2" />
1 <delete pk="1" />
1 <delete pk="2" />
2 <insert pk="3" />