Представления SQL Server 2005 - PullRequest
       15

Представления SQL Server 2005

0 голосов
/ 23 сентября 2010

У меня есть таблица, которая содержит несколько записей на сотрудника по фактическим данным и эффективной последовательности: EMPLID, EFFDT, EFFSEQ.

Я пытаюсь составить представление, в котором я могу указать дату выпускакроме текущей даты и получить самую последнюю запись для каждого сотрудника на эту дату.Обычно я использую запрос:

SELECT C.EMPLID, C.EFFDT, C.EFFSEQ
  FROM PS_JOB C
 WHERE C.EFFSEQ = (SELECT MAX(INNERALIAS.EFFSEQ)
                     FROM PS_JOB INNERALIAS 
                    WHERE INNERALIAS.EMPLID = C.EMPLID
                      AND INNERALIAS.EFFDT = C.EFFDT)
   AND C.EFFDT = (SELECT MAX(INNERALIAS.EFFDT)
                    FROM PS_JOB INNERALIAS 
                   WHERE INNERALIAS.EMPLID = C.EMPLID
                     AND INNERALIAS.EFFDT <= GetDate())

Есть ли способ создать представление на SQL Server, в котором я могу указать дату для сравнения INNERALIAS.EFFDT во втором подвыборе?

1 Ответ

0 голосов
/ 23 сентября 2010

Вы не можете параметризовать представление, но вы можете оставить свое представление как есть и параметризовать sp, который возвращает результаты из представления, ограниченного вашим параметром, и отправлять выходные данные sp в таблицу и использовать эту таблицу в Excel.

...