Guest User

Untitled

a guest
Jul 20th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. Userid | Date
  2. |
  3. 101 | 15 Aug ,2011
  4. 102 | 15 Aug ,2011
  5. 103 | 16 Aug ,2011
  6. 104 | 16 Aug ,2011
  7. 105 | 17 Aug ,2011
  8.  
  9. Userid(f.k) | sts
  10. 101 | x
  11. 102 | y
  12. 101 | z
  13. 103 | x
  14. 101 | y
  15.  
  16. Date | Total | Sts (if=x) |Sts (if=y) |Avg (Total/2)
  17.  
  18. 15 Aug| 20 | 15 |5 |10
  19. 16aug | 30 | 22 |8 |15
  20.  
  21. select Date, select case when [Tasble-B].Sts='x' Then 0 else 1 END as StsX,select case when [Tasble-B].Sts='Y' Then 0 else 1 END as StsY,Total/2
  22. from
  23. Table-A
  24. inner join Table-B on Table-A.UserID = Table-B.UserID
  25. b group by RegDate
  26.  
  27. select Date,
  28. select case when [Tasble-B].Sts='x' Then 0
  29. else 1
  30. END as StsX,
  31. select case when [Tasble-B].Sts='Y' Then 0
  32. else 1
  33. END as StsY,
  34. Total/2
  35. from Table-A
  36. inner join Table-B
  37. on Table-A.UserID = Table-B.UserID
  38. b group by RegDate
  39.  
  40. select [Date],
  41. (SUM(case when B.Sts='x' Then 1
  42. else 0
  43. END) +
  44. SUM( case when B.Sts='Y' Then 1
  45. else 0
  46. END)) AS Total,
  47. SUM( case when B.Sts='x' Then 1
  48. else 0
  49. END) AS StsX,
  50. SUM( case when B.Sts='Y' Then 1
  51. else 0
  52. END) as StsY,
  53. (SUM(case when B.Sts='x' Then 1
  54. else 0
  55. END) +
  56. SUM( case when B.Sts='Y' Then 1
  57. else 0
  58. END))
  59. /2.0 AS Average
  60. from A
  61. inner join B
  62. on A.UserID = B.UserID
  63. group by [Date]
  64.  
  65. WITH A (UserId, [Date]) AS (
  66. SELECT 101, '2011-08-15'
  67. UNION
  68. SELECT 102, '2011-08-15'
  69. UNION
  70. SELECT 103, '2011-08-16'
  71. UNION
  72. SELECT 104, '2011-08-16'
  73. UNION
  74. SELECT 105, '2011-08-17'
  75. ),
  76. B (UserId, sts) AS
  77. (
  78. SELECT 101, 'x'
  79. UNION
  80. SELECT 102, 'y'
  81. UNION
  82. SELECT 101, 'z'
  83. UNION
  84. SELECT 103, 'x'
  85. UNION
  86. SELECT 101, 'y'
  87. )
  88. select [Date],
  89. (SUM(case when B.Sts='x' Then 1
  90. else 0
  91. END) +
  92. SUM( case when B.Sts='Y' Then 1
  93. else 0
  94. END)) AS Total,
  95. SUM( case when B.Sts='x' Then 1
  96. else 0
  97. END) AS StsX,
  98. SUM( case when B.Sts='Y' Then 1
  99. else 0
  100. END) as StsY,
  101. (SUM(case when B.Sts='x' Then 1
  102. else 0
  103. END) +
  104. SUM( case when B.Sts='Y' Then 1
  105. else 0
  106. END))
  107. /2.0 AS Average
  108. from A
  109. inner join B
  110. on A.UserID = B.UserID
  111. group by [Date]
Add Comment
Please, Sign In to add comment