You can also use this directly without having to resort to advanced querying.SELECT fieldX AS Item1, fieldY AS Item2FROM @SampleFOR XML PATH('Items'), ROOT('xmlDemo'), ELEMENTSor in your case, justSELECT t1.FieldX AS Item1, t2.FieldY AS Item2FROM Table1 AS t1LEFT JOIN Table2 AS t2 ON t2.ID = t1.ID WHERE t1.FieldZ = 'abc'FOR XML PATH('Items'), ROOT('xmlDemo'), ELEMENTSLooks a lot cleaner, doesn't it?Instead of SELECT (SELECT Table1.FieldX, Table2.FieldYFROM Table1 Left JOINTable2 ON Table1.ID = Table2.ID WHERE Table1.FieldZ='abc'for xml auto, type).query ('<xmlDemo>{for $sp in /*return<Items> <Item1>{data($sp/@FieldX)}</Item1><Item2>{data($sp/@FieldY)}</Item2> </Items>}</xmlDemo>')
E 12°55'05.63"N 56°04'39.26"