Advertisement
Guest User

Untitled

a guest
Sep 20th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. ALTER VIEW [dbo].[ColorScheme] AS
  2. WITH ColorCT AS (
  3.  
  4. SELECT
  5. C.Deployment
  6. , C.[Platform Name] AS Platform
  7. , C.Instance
  8. , C.ClientCode
  9. , C.[Lev1 Suspect] AS Suspects
  10. , COUNT(*) OVER (PARTITION BY C.[Lev1 Suspect]) AS CountSuspects
  11. , SUM(CASE WHEN C.[Platform Name] = 'Epic' THEN 0 ELSE 1 END) OVER (PARTITION BY C.[Lev1 Suspect]) AS NonEpicMatches
  12. , SUM(CASE WHEN C.[Platform Name] = 'Epic' THEN 1 ELSE 0 END) OVER (PARTITION BY C.[Lev1 Suspect]) AS EpicMatches
  13. , (SELECT COUNT(DISTINCT Deployment) FROM Client R WHERE R.[Lev1 Suspect] = C.[Lev1 Suspect] AND R.Deployment != 'ALL') AS DeploymentCount
  14. , (SELECT COUNT(DISTINCT Instance) FROM Client R WHERE R.[Lev1 Suspect] = C.[Lev1 Suspect] AND R.Deployment != 'ALL') AS InstanceCount
  15. FROM
  16. Client C
  17. )
  18.  
  19. SELECT
  20. Deployment
  21. , Platform
  22. , Instance
  23. , ClientCode
  24. , Suspects
  25. , CASE -- Yellow should match one deployment, one instance, nothing in Epic, multiple suspects
  26. WHEN
  27. DeploymentCount = 1
  28. AND InstanceCount = 1
  29. AND EpicMatches = 0
  30. AND CountSuspects > 1
  31. THEN 'Yellow'
  32. ELSE NULL END AS Yellow
  33. , CASE -- Red should match one deployment, multiple instances, nothing in Epic, multiple suspects
  34. WHEN
  35. InstanceCount > 1
  36. AND DeploymentCount = 1
  37. AND EpicMatches = 0
  38. AND CountSuspects > 1
  39. THEN 'Red'
  40. ELSE NULL END AS Red
  41. , CASE -- Blue should match multiple deployments, nothing in Epic, multiple suspects
  42. WHEN
  43. DeploymentCount > 1
  44. AND NonEpicMatches > 1
  45. AND EpicMatches = 0
  46. AND CountSuspects > 1
  47. THEN 'Blue'
  48. ELSE NULL END AS Blue
  49. , CASE -- Green should have a match in Epic and a Deployment
  50. WHEN
  51. CountSuspects = EpicMatches + NonEpicMatches
  52. AND EpicMatches > 0
  53. AND NonEpicMatches > 0
  54. AND CountSuspects > 1
  55. THEN 'Green' ELSE NULL
  56. END AS Green
  57. , DeploymentCount
  58. , InstanceCount
  59. , CountSuspects
  60. , NonEpicMatches
  61. , EpicMatches
  62. FROM
  63. ColorCT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement