Я создаю несколько отчетов для приложения, которое будет использоваться различными государствами.База данных может быть очень большой.Я хотел бы знать, какой способ является лучшим способом для получения итогов по столбцам.
В настоящее время у меня есть SQL, похожий на следующее:
SELECT count(case when prg.prefix_id = 1 then iss.id end) +
count(case when prg.prefix_id = 2 then iss.id end) as total,
count(case when prg.prefix_id = 1 then iss.id end) as c1,
count(case when prg.prefix_id = 2 then iss.id end) as c2
FROM dbo.TableName
WHERE ...
Как вы можете видеть, столбцы тамдважды.В одном случае я добавляю их и показываю итоговое значение, в другом я просто показываю отдельные значения, необходимые для отчета.
Это очень маленький образец SQL, есть более 20 столбцов иw / i эти столбцы 4 или более из них суммируются время от времени.
Я думал об объявлении некоторых @Parameters и установке каждого из столбцов равным @Parameter, тогда я мог бы просто сложить что@Parameters Мне нужно было показать итоговые значения столбцов, т.е.: SET @Total = @c1 + @c2
Но разве движок SQL Server заботится о том, чтобы столбцы были там несколько раз, как это?Есть ли лучший способ сделать это?