Advertisement
Guest User

Untitled

a guest
Sep 25th, 2014
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.44 KB | None | 0 0
  1. CREATE VIEW [dbo].[CurrentAndPriorApprovers_View]
  2. AS
  3.     SELECT
  4.         Form.FormId,
  5.         Form.TypeId,
  6.         Form.EmployeeIndex,
  7.         Form.NonEmployeeName,
  8.         CurrentApprover.CurrentApproverId,
  9.         WalshGroup.dbo.uf_LookUpUserName(CurrentApprover.CurrentApproverId) AS CurrentApproverName,
  10.         ISNULL(PriorApprover.PriorApproverId, Form.CreatedById) AS PriorApproverId,
  11.         WalshGroup.dbo.uf_LookUpUserName(ISNULL(PriorApprover.PriorApproverId,
  12.                                                     Form.CreatedById)) AS PriorApproverName,
  13.         ISNULL(PriorApprovalWhen, Form.CreatedDate) AS PriorApprovalWhen,
  14.         CurrentApprover.CurrentRank
  15.     FROM
  16.         Form
  17.         LEFT OUTER JOIN ( SELECT
  18.                             FormId,
  19.                             UserId AS CurrentApproverId,
  20.                             [Rank] AS CurrentRank
  21.                           FROM
  22.                             ( SELECT
  23.                                 FormId,
  24.                                 UserId,
  25.                                 ROW_NUMBER() OVER ( PARTITION BY FormId ORDER BY Rank ) AS RowNum,
  26.                                 [Rank]
  27.                               FROM
  28.                                 [eForms].[dbo].[RoutePlan]
  29.                               WHERE
  30.                                 StatusDate IS NULL AND
  31.                                 Deleted = 0
  32.                             ) AS CA
  33.                           WHERE
  34.                             CA.RowNum = 1
  35.                         ) AS CurrentApprover
  36.             ON dbo.Form.FormId = CurrentApprover.FormId
  37.         LEFT OUTER JOIN ( SELECT
  38.                             FormId,
  39.                             UserId AS PriorApproverId,
  40.                             StatusDate AS PriorApprovalWhen
  41.                           FROM
  42.                             ( SELECT
  43.                                 FormId,
  44.                                 UserId,
  45.                                 StatusDate,
  46.                                 ROW_NUMBER() OVER ( PARTITION BY FormId ORDER BY Rank DESC ) AS RowNum
  47.                               FROM
  48.                                 [eForms].[dbo].[RoutePlan]
  49.                               WHERE
  50.                                 StatusDate IS NOT NULL AND
  51.                                 Deleted = 0
  52.                             ) AS PA
  53.                           WHERE
  54.                             PA.RowNum = 1
  55.                         ) AS PriorApprover
  56.             ON form.FormId = PriorApprover.FormId
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement