Guest User

Untitled

a guest
Oct 18th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. CREATE TABLE cases
  2. ([caseno] int, [case_detail] varchar(8), [date_received] datetime)
  3. ;
  4.  
  5. INSERT INTO cases
  6. ([caseno], [case_detail], [date_received])
  7. VALUES
  8. (1, 'DETAIL A', '2018-04-01 00:00:00'),
  9. (2, 'DETAIL B', '2018-05-01 00:00:00'),
  10. (3, 'DETAIL C', '2018-06-01 00:00:00')
  11. ;
  12.  
  13. CREATE TABLE activities
  14. ([caseno] int, [activity] int, [team] varchar(1))
  15. ;
  16.  
  17. INSERT INTO activities
  18. ([caseno], [activity], [team])
  19. VALUES
  20. (1, 00, 'A'),
  21. (1, 10, 'A'),
  22. (1, 00, 'A'),
  23. (1, 00, 'B'),
  24. (1, 90, 'C'),
  25. (1, 00, 'C'),
  26. (1, 00, 'A'),
  27. (2, 10, 'A'),
  28. (2, 00, 'A'),
  29. (2, 00, 'B'),
  30. (3, 90, 'C'),
  31. (3, 00, 'C')
  32. ;
  33.  
  34. SELECT T.*, A.A, B.B, C.C FROM cases T
  35. LEFT JOIN (SELECT caseno, COUNT(*) AS A FROM activities WHERE activity = '00' AND team = 'A' GROUP BY caseno) A ON T.[caseno] = A.[caseno]
  36. LEFT JOIN (SELECT caseno, COUNT(*) AS B FROM activities WHERE activity = '00' AND team = 'B' GROUP BY caseno) B ON T.[caseno] = B.[caseno]
  37. LEFT JOIN (SELECT caseno, COUNT(*) AS C FROM activities WHERE activity = '00' AND team = 'C' GROUP BY caseno) C ON T.[caseno] = C.[caseno]
  38.  
  39. SELECT c.caseno, case_detail, date_received,
  40. COUNT(CASE WHEN team = 'A' THEN 1 END) AS a,
  41. COUNT(CASE WHEN team = 'B' THEN 1 END) AS b,
  42. COUNT(CASE WHEN team = 'C' THEN 1 END) AS c
  43. FROM cases c
  44. LEFT JOIN activities a
  45. ON c.caseno = a.caseno
  46. AND a.activity = '00'
  47. GROUP BY c.caseno, case_detail, date_received;
Add Comment
Please, Sign In to add comment