Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- 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,
- MIN(IsIn.jam_in) AS JamIstirahatIn, MAX(IsOut.jam_out) AS JamIstirahatOut,
- MAX(C.`tgl_out`) AS TglKeluar, MAX(C.`jam_out`) AS JamKeluar
- FROM (
- SELECT * FROM (
- SELECT CAST(('2016-01-01'+INTERVAL (H+T+U) DAY) AS DATE) AS d
- FROM ( SELECT 0 H
- UNION ALL SELECT 100 UNION ALL SELECT 200 UNION ALL SELECT 300
- ) H CROSS JOIN ( SELECT 0 T
- UNION ALL SELECT 10 UNION ALL SELECT 20 UNION ALL SELECT 30
- UNION ALL SELECT 40 UNION ALL SELECT 50 UNION ALL SELECT 60
- UNION ALL SELECT 70 UNION ALL SELECT 80 UNION ALL SELECT 90
- ) T CROSS JOIN ( SELECT 0 U
- UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
- UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
- UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9
- ) U
- WHERE
- ('2016-01-01'+INTERVAL (H+T+U) DAY) <= ('2016-01-10')
- )A , employee Z ) AS T
- LEFT JOIN abs_in B ON T.`ID` = B.`id_personal` AND B.`tgl_in` = T.d
- AND B.`tgl_in` BETWEEN '2016-01-01' AND '2016-01-10'
- LEFT JOIN ist_in IsIn ON IsIn.`id_personal` = T.`ID` AND B.`tgl_in` = IsIn.`tgl_in`
- LEFT JOIN ist_out IsOut ON IsOut.`id_personal` = T.`ID` AND B.`tgl_in` = IsOut.`tgl_out`
- LEFT JOIN abs_out C ON C.`id_personal` = T.`ID` AND B.`tgl_in` = C.`tgl_out`
- GROUP BY T.`ID`, T.`nama`, T.`jabatan`, B.tgl_in
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement