Мне было интересно, что следующий запрос может быть спроектирован лучше, поскольку такое же соединение используется в подзапросах A, B и C.
Я был бы очень признателен за лучший способ разработки следующего запроса.
выберите *, abs (раунд (Всего2] - [Всего1], 2)) как [Total_Variance]
от (
(выберите отдельный t1. [ID], t1.c3, [Финансовый год], [Дата создания]
из таблицы 1 т1
левое внешнее соединение table2 t2
на t1. [ID] = t2. [ID]) A
левое внешнее соединение
(выберите различное t1. [ID], сумму (isnull (t1.c2, '')) как итоговое значение 1, t1.c3
из таблицы 1 т1
левое внешнее соединение table2 t2
на t1. [ID] = t2. [ID]
где с3 в (v1, v2)
сгруппировать по t1. [ID], t1.c3) B
на A. [ID] = B. [ID]
левое внешнее соединение
(выберите отличный t1. [ID], sum (isnull (t1.c1, '')) как total2, t1.
из таблицы 1 т1
левое внешнее соединение table2 t2
на t1. [ID] = t2. [ID]] где c3 in (v3, v4)
группировка по t1. [ID], t1.c3
) С
на A. [ID] = C. [ID])