SQL Server «не может выполнить агрегатную функцию для выражения, содержащего агрегат или подзапрос», но Sybase может
Эта проблема обсуждалась ранее, но ни один из ответов не касается моей конкретной проблемы, потому что я имею дело с различными предложениями where во внутреннем и внешнем выборе. Этот запрос прекрасно выполняется в Sybase, но выдает ошибку в заголовке этого поста при выполнении в SQL Server. Запрос сложный, но общий план запроса:
select sum ( t.graduates -
( select sum ( t1.graduates )
from table as t1
where t1.id = t.id and t1.group_code not in ('total', 'others' ) ) )
from table as t
where t.group_code = 'total'
Ниже описана ситуация, которую я пытаюсь разрешить:
все коды групп представляют расы, кроме «итого» и «другие»Код группы «Всего» представляет общее количество выпускников всех растем не менее, многократная гонка отсутствует, поэтому количество выпускников в гонке может не совпадать с общим количеством выпускников.эти недостающие данные - это то, что нужно рассчитатьЕсть ли способ переписать это, используя производные таблицы или объединения, чтобы получить те же результаты?
Обновить: я создалпримеры данных и 3 решения моей конкретной проблемы (2 под влиянием Sgeddes). Тот, который я добавил, включает перемещение коррелированного подзапроса в производную таблицу в предложении FROM. Спасибо за помощь, ребята!