在同一查询中选择普通列和格式为 XML 的列

Selecting ordinary columns and columns formatted as XML in the same query

如果我 运行 select columnA from tableA 我从 table.

得到 columnA 的值

如果我 运行 select columnB, columnC from tableA as xml path, root 我从格式为 XML.

的 2 列中获取数据

如何将上述 2 个查询的效果合并为一个,以便按原样返回 columnA 并返回 columnBcolumnC 作为 XML 在标有 myXml?

的单独列中

我运行在 SQL2008R2 服务器上安装它。

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

我太沉迷于 XML,以至于我没有看到我需要使用 2 个别名在 table 上进行自连接!