If I run select columnA from tableA I get the values from columnA from my table.
If I run select columnB, columnC from tableA as xml path, root I get the data from the 2 columns formatted as XML.
How do I go about combining the effects of the above 2 queries into one so that I get back columnA as-is and columnB with columnC as XML in a separate column labeled myXml?
I'm running this on a SQL2008R2 server.
CodePudding user response:
with myTable as (
select a.columnA,
(select b.columnA, b.columnB
from tableA b
where b.columnA = a.columnA
for xml path, root
) as myXml
from tableA a
)
select * from myTable
I was getting so caught up in the XML, that I failed to see that I needed a self-join on the table with 2 aliases!
