Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. SELECT
  2. T.ID AS id_personal, T.`nama`, T.`jabatan`, T.d AS JadwalKerja, IFNULL(B.`tgl_in`, 'Bolos') AS TglMasuk, MIN(B.`jam_in`) AS JamMasuk,
  3. MIN(IsIn.jam_in) AS JamIstirahatIn, MAX(IsOut.jam_out) AS JamIstirahatOut,
  4. MAX(C.`tgl_out`) AS TglKeluar, MAX(C.`jam_out`) AS JamKeluar
  5. FROM (
  6. SELECT * FROM (
  7. SELECT CAST(('2016-01-01'+INTERVAL (H+T+U) DAY) AS DATE) AS d
  8. FROM ( SELECT 0 H
  9. UNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300
  10. ) H CROSS JOIN ( SELECT 0 T
  11. UNION ALL SELECT 10 UNION ALL SELECT 20 UNION ALL SELECT 30
  12. UNION ALL SELECT 40 UNION ALL SELECT 50 UNION ALL SELECT 60
  13. UNION ALL SELECT 70 UNION ALL SELECT 80 UNION ALL SELECT 90
  14. ) T CROSS JOIN ( SELECT 0 U
  15. UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
  16. UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
  17. UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
  18. ) U
  19. WHERE
  20. ('2016-01-01'+INTERVAL (H+T+U) DAY) <= ('2016-01-10')
  21. )A , employee Z ) AS T
  22. LEFT JOIN abs_in B ON T.`ID` = B.`id_personal` AND B.`tgl_in` = T.d
  23. AND B.`tgl_in` BETWEEN '2016-01-01' AND '2016-01-10'
  24. LEFT JOIN ist_in IsIn ON IsIn.`id_personal` = T.`ID` AND B.`tgl_in` = IsIn.`tgl_in`
  25. LEFT JOIN ist_out IsOut ON IsOut.`id_personal` = T.`ID` AND B.`tgl_in` = IsOut.`tgl_out`
  26. LEFT JOIN abs_out C ON C.`id_personal` = T.`ID` AND B.`tgl_in` = C.`tgl_out`
  27. GROUP BY T.`ID`, T.`nama`, T.`jabatan`, B.tgl_in
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement