У меня есть запрос, который я использую для построения диаграмм в службах отчетов, который выглядит примерно так:
(SELECT Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Eta, Theta, Iota, Kappa, Lambda, Mu,Nu, Xi from tbl WHERE Alpha in (@Alphas) and Beta in (@Betas) and Gamma in (@Gammas) and Delta in (@Deltas) and Epsilon in (@Epsilons) and Zeta in (@Zetas) and Eta in (@Etas) and Theta in (@Thetas) ) UNION (SELECT Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Eta, Theta, Iota, Kappa, Lambda, Mu,Nu, Omicron from tbl WHERE Alpha in (@Alphas) and Beta in (@Betas) and Gamma in (@Gammas) and Delta in (@Deltas) and Epsilon in (@Epsilons) and Zeta in (@Zetas) and Eta in (@Etas) and Theta in (@Thetas))
Альфа - Тета должна использоваться в паре вычисляемых полей, которые объединяют их (например, Альфа, Бета, Гамма) в строку в одном поле. Оператор select для Omicron сгенерирует такое же количество строк, что и Xi, но на самом деле я хочу агрегировать Omicron, поэтому, если запрос Select с Xi дает 9 элементов легенды, совокупный выбор для Omicron должен создавать только один элемент легенды, потому что значения Для Omicron значения от альфа до теты не важны. Как следует структурировать запрос, чтобы я мог использовать параметры от Alpha до Theta в качестве параметров, но при этом агрегировать Omicron?


Я не уверен, что вы действительно хотите, но, если я правильно понял, вы можете попробовать что-то вроде:
(SELECT a,b,c,d FROM k
WHERE a in (@a) and b in (@b) and c in (@c))
UNION
(SELECT NULL,NULL,NULL,sum(e) FROM k
WHERE a in (@a) and b in (@b) and c in (@c) GROUP BY e)
NULL только для возможности выполнить объединение (при сохранении количества столбцов вам может потребоваться использовать псевдонимы столбцов)
Почему бы вам просто не выбрать всех греков, Си и Омикрон в одном операторе выбора и не вычислить сумму на языке хоста? Это один потенциально дорогостоящий запрос вместо двух.
Не думаю, что понимаю твой ответ. Исходные данные были выбраны напрямую, и это подготовка данных в службах отчетов перед их использованием в отчете. Как бы тогда выглядел ваш sql?