我有一個「主」表包含一個ID(加上一些其他列)和一個又名錶,它通過[main id]列連接到main.id.下面的查詢將返回主某些列與級聯逗號分隔的「姓氏」 S從又名柱沿:當連接列時,是否可以避免select中的子查詢?
SELECT m.id, m.name,
(SELECT a.[lastname] + ',' AS [text()]
FROM aka a
WHERE a.[main id] = m.[id]
FOR xml path ('')) [akas]
FROM main m
這工作得很好,但我想知道是否有避免做的方式這在一個子查詢?
沒有使用子查詢,您可能仍然需要在最終選擇結果之前加入2個表。 –
有什麼理由不能加入主要與aka?什麼是特殊的,所以你正在使用XML路徑? – FLICKER
你可以創建你自己的CLR聚合,然後它將是一個普通的'group by',沒有子查詢。 –