Короче говоря, у меня есть два отдельных запроса, которые я хочу объединить в один лучший. Я ранее делал это с помощью CTE, но мне нужно использовать SSIS '05, и он не поддерживает таблицы CTE или temp, и я не могу за всю жизнь понять, как это сделать без них.SQL Join Without Temp Tables
Как я уже сказал, у меня есть два отдельных выражения 'select'. Один для первых средних, другой для последующих средних значений. Первый имеет вывод, подобный этому:
Description First_Averages
a) xxx 4.533333
b) xxx 8.238095
c) xxx .5
I) xxx 2
j) xxx 2.25
и мой второй «выберите» оператор вывода выглядит очень похоже:
Description Subsequent_Averages
a) xxx 4.225806
b) xxx 4.393939
c) xxx .1428571
d) xxx 0
f) xxx 0
j) xxx 1.666667
Использование CTE-х, я получил его, чтобы показать все описание даже если значения были null (заменяя нули на 0) и объединим их в один (гораздо лучше выглядящий) вывод. Желаемый результат, что я был в состоянии получить с КТРОМ выглядит следующим образом:
Description First_Averages Subsequent_Averages
a) xxx 4.533333 4.225806
b) xxx 8.238095 4.393939
c) xxx .5 .1428571
d) xxx 0 0
e) xxx 0 0
f) xxx 0 0
g) xxx 0 0
h) xxx 0 0
i) xxx 2 0
j) xxx 2.25 1.666667
Есть ли способ сделать это без использования таблиц CTE-ых лет или временной любого рода?
Мой код для этих первых двух утверждений «выбрать» выглядит следующим образом:
SELECT
description, avg(total_score)
FROM (a long select statement)
WHERE sequence_num = '1'
group by description
order by description;
Второй «выбрать» операторов кода является точно такой же для «SEQUENCE_NUM =„1“», за исключением является «SEQUENCE_NUM <> '1'».
Если вы хотите увидеть код FROM, я могу его обновить и включить. Он делал это сообщение дольше, чем это было, хотя я удалил его.
Я не могу найти способ отображения всех описаний, включая те, которые имеют нулевые средние значения, и присоединить средние к описаниям, как это было в случае с CTE.
Заранее благодарим за советы. Дайте мне знать, если вам нужна дополнительная информация, я некоторое время работал в кругах, пытаясь это сделать.
Мне нравится ваш ответ более, чем мой. – Zoldren
Это сработало! По крайней мере по размеру. Он не показывает каждую строку описания, хотя, только те, которые отображаются в первом среднем и втором среднем вместе взятые. Поэтому я получаю a, b, c, d, f, i и j - все еще не e, g и h. Мысли? – rtoken
Если '(длинный оператор select)' не возвращает строки для e, g или h, то вы не получите эти строки на выходе. – Sentinel