Создание представления для сводки - PullRequest
0 голосов
/ 06 сентября 2011

У меня есть таблица вопросов.Вопросы могут быть приоритетными, низко приоритетными, открытыми / отвеченными.Каков наилучший способ создания резюме.Должен ли я использовать представление или несколько хранимых процедур?

Пример таблицы:

CREATE TABLE [dbo].[question] (
    [Id]            INT          NOT NULL,
    [Priority]      INT          NOT NULL,
    [State]         INT          NOT NULL)

Я думаю, что лучше всего создать представление с 4 столбцами: OpenQuestionHighPriority, OpenQuestionLowPriority, ClosedQuestionHighPriority, ClosedQuestionLowPriority.

Хотелось бы узнать, как сделать то или иное предложение.

1 Ответ

1 голос
/ 06 сентября 2011

Вы можете запросить это с помощью case:

select  sum(case when priority = 1 and state = 1 then 1 end) 
            as OpenQuestionHighPriority
,       sum(case when priority = 1 and state = 2 then 1 end) 
            as ClosedQuestionHighPriority
....
from    dbo.question

Вы можете сохранить этот запрос в виде, процедуре или выполнить его как специальный SQL. Это будет работать в любой форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...