Advertisement
cahyadsn

rekap absensi

Jan 6th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 0.92 KB | None | 0 0
  1. USE test;
  2.  
  3. DROP TABLE IF EXISTS absensi_kelas;
  4. CREATE TABLE IF NOT EXISTS absensi_kelas(
  5.   absensi_id INT,
  6.   kelas_id INT
  7. );
  8.  
  9. INSERT INTO absensi_kelas
  10. VALUES
  11. (1,1),
  12. (2,1),
  13. (3,2),
  14. (4,2),
  15. (5,3),
  16. (6,3);
  17.  
  18. DROP TABLE IF EXISTS absensi;
  19. CREATE TABLE IF NOT EXISTS absensi(
  20.   absensi_id INT,
  21.   keterangan CHAR(1)
  22. );
  23.  
  24. INSERT INTO absensi
  25. VALUES
  26. (1,'H'),
  27. (1,'A'),
  28. (1,'S'),
  29. (1,'H'),
  30. (1,'H'),
  31. (1,'I'),
  32. (1,'H'),
  33. (1,'I'),
  34. (2,'H'),
  35. (2,'A'),
  36. (2,'S'),
  37. (2,'H'),
  38. (2,'H'),
  39. (2,'H'),
  40. (2,'H'),
  41. (2,'H'),
  42. (2,'I'),
  43. (3,'H'),
  44. (3,'A'),
  45. (3,'S'),
  46. (3,'H'),
  47. (3,'A'),
  48. (4,'H'),
  49. (4,'H'),
  50. (4,'H'),
  51. (4,'I'),
  52. (5,'H'),
  53. (5,'A'),
  54. (5,'S'),
  55. (5,'S'),
  56. (5,'H'),
  57. (5,'H'),
  58. (5,'I'),
  59. (5,'I'),
  60. (5,'I');
  61.  
  62. SELECT
  63.   a.kelas_id,
  64.   SUM(IF(b.keterangan='S',1,0)) AS S,
  65.   SUM(IF(b.keterangan='I',1,0)) AS I,
  66.   SUM(IF(b.keterangan='A',1,0)) AS A
  67. FROM
  68.   absensi_kelas a
  69.   LEFT JOIN absensi b USING(absensi_id)
  70. GROUP BY a.kelas_id;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement