Di dalam proses membangunkan sesebuah sistem terdapat pelbagai permintaan dari pengguna.
Khususnya sistem-sistem yang banyak melibatkan tarikh - tarikh tertentu. Pengguna inginkan mendapatkan laporan berpandukan sesebuah tarikh.
Berikut query mudah untuk dapatkan jumlah hari bekerja mengikut negeri.
Terlebih dahulu, pihak sistem analis pembangun sistem PERLU menyediakan Table CUTI UMUM mengikut negeri.
Berikut query mendapatkan cuti umum mengikut lookup table cuti.
SELECT COUNT(*) AS CutiUmum
FROM lt_tarikh_cuti
WHERE lt_tarikh_cuti.id_negeri = "16" OR lt_tarikh_cuti.id_negeri = "0"
AND tarikh_cuti BETWEEN "2017-01-01" AND "2017-10-10"
id_negeri 16 bagi kod negeri putrajaya dan id_negeri = 0 adalah cuti umum bagi semua negeri.
Jumlah cuti umum adalah 17 hari bagi tempoh 01-01-2017 sehingga 10-10-2017.
BERIKUT ADALAH FIELD YANG DISARANKAN UNTUK KEMUDAHAN PENGATURCARAN
*Table: lt_tarikh_cuti*/ ------------------------- /*Column Information*/ ---------------------- Field Type Collation Null Key Default Extra Privileges Comment ---------------- ------------ ----------------- ------ ------ ------- -------------- -------------------- --------------------------- id_tarikh_cuti int(11) (NULL) NO PRI (NULL) auto_increment select,insert,update id_negeri int(2) (NULL) YES 0 select,insert,update rujuk lt_negeri:id_negeri tarikh_cuti date (NULL) NO (NULL) select,insert,update keterangan_cuti varchar(100) latin1_swedish_ci NO 0 select,insert,update id_wujud varchar(12) latin1_swedish_ci YES (NULL) select,insert,update tarikh_wujud date (NULL) YES (NULL) select,insert,update id_kemaskini varchar(12) latin1_swedish_ci YES 0 select,insert,update tarikh_kemaskini date (NULL) YES (NULL) select,insert,update /*Index Information*/ --------------------- Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment -------------- ---------- -------- ------------ -------------- --------- ----------- -------- ------ ------ ---------- ------- --------------- lt_tarikh_cuti 0 PRIMARY 1 id_tarikh_cuti A 66 (NULL) (NULL) BTREE /*DDL Information*/ ------------------- CREATE TABLE `lt_tarikh_cuti` ( `id_tarikh_cuti` int(11) NOT NULL AUTO_INCREMENT, `id_negeri` int(2) DEFAULT '0' COMMENT 'rujuk lt_negeri:id_negeri', `tarikh_cuti` date NOT NULL, `keterangan_cuti` varchar(100) NOT NULL DEFAULT '0', `id_wujud` varchar(12) DEFAULT NULL, `tarikh_wujud` date DEFAULT NULL, `id_kemaskini` varchar(12) DEFAULT '0', `tarikh_kemaskini` date DEFAULT NULL, PRIMARY KEY (`id_tarikh_cuti`) ) ENGINE=MyISAM AUTO_INCREMENT=67 DEFAULT CHARSET=latin1
Disediakan oleh : Mariatulkibtiah Binti Arshad
Sumber : Sistem Maklumat Pengurusan Perolehan (ePIS)
0 comments:
Post a Comment