The new library works.. but, there’s a problem..
This is my code:
function arr_tunggakan_kontan($nis, $nama_tagihan) {
$this->db->select('sub1.id_jenis_tagihan, sub1.thn_ajaran, sub1.jumlah_angsur, sub1.besar');
$this->db->select('sub1.jumlah_angsur-IFNULL(sub2.con, 0) AS sisa_angsuran', FALSE)->select('(sub1.jumlah_angsur-IFNULL(sub2.con, 0))*sub1.besar AS tunggakan', FALSE);
$sub = $this->subquery->start_subquery('from');
$sub->select('t.id_thn_ajaran, t.thn_ajaran, j.id_jenis_tagihan, j.besar, j.jumlah_angsur');
$sub->from('siswa AS s', FALSE);
$sub->join('siswa_kelas_thn_ajaran AS skt', 'skt.nis = s.nis');
$sub->join('thn_ajaran AS t', 't.id_thn_ajaran = skt.id_thn_ajaran');
$sub->join('kelas AS k', 'k.id_kelas = skt.id_kelas');
$sub->join('jurusan AS ju', 'ju.id_jurusan = k.id_jurusan');
$sub->join('jenis_tagihan AS j', 'ju.departemen = j.departemen AND j.id_thn_ajaran = skt.id_thn_ajaran AND j.jenis_kelas = k.jenis_kelas');
$sub->where('s.nis', $nis);
$sub->where('j.nama_tagihan', $nama_tagihan);
$this->subquery->end_subquery('sub1');
$sub = $this->subquery->start_subquery('join', 'left outer', 'sub1.id_jenis_tagihan = sub2.id_jenis_tagihan');
$sub->select(' st.id_jenis_tagihan, j.id_thn_ajaran, st.jml_angsuran')->select_sum('st.jml_angsuran', 'con');
$sub->from('siswa_tagihan AS st');
$sub->join('jenis_tagihan AS j', 'j.id_jenis_tagihan = st.id_jenis_tagihan');
$sub->where('st.nis', $nis)->where('j.nama_tagihan', $nama_tagihan);
$sub->group_by('st.id_jenis_tagihan');
$this->subquery->end_subquery('sub2');
$query = $this->db->get()->result();
return $query;
}
and this is the result query:
SELECT `sub1`.`id_jenis_tagihan`, `sub1`.`thn_ajaran`, `sub1`.`jumlah_angsur`, `sub1`.`besar`, sub1.jumlah_angsur-IFNULL(sub2.con, 0) AS sisa_angsuran, (sub1.jumlah_angsur-IFNULL(sub2.con, 0))*sub1.besar AS tunggakan
FROM ( (
SELECT `t`.`id_thn_ajaran`, `t`.`thn_ajaran`, `j`.`id_jenis_tagihan`, `j`.`besar`, `j`.`jumlah_angsur`
FROM` (`siswa` AS s)
JOIN `siswa_kelas_thn_ajaran` AS skt ON `skt`.`nis` = `s`.`nis`
JOIN `thn_ajaran` AS t ON `t`.`id_thn_ajaran` = `skt`.`id_thn_ajaran`
JOIN `kelas` AS k ON `k`.`id_kelas` = `skt`.`id_kelas`
JOIN `jurusan` AS ju ON `ju`.`id_jurusan` = `k`.`id_jurusan`
JOIN `jenis_tagihan` AS j ON `ju`.`departemen` = `j`.`departemen` AND j.id_thn_ajaran = skt.id_thn_ajaran AND j.jenis_kelas = k.jenis_kelas
WHERE `s`.`nis` = '113080130'
AND `j`.`nama_tagihan` = 'Qurban'
) AS sub1)
LEFT OUTER JOIN (
SELECT `st`.`id_jenis_tagihan`, `j`.`id_thn_ajaran`, `st`.`jml_angsuran`, SUM(`st`.`jml_angsuran`) AS `con`
FROM (`siswa_tagihan` AS st)
JOIN `jenis_tagihan` AS j ON `j`.`id_jenis_tagihan` = `st`.`id_jenis_tagihan`
WHERE `st`.`nis` = '113080130'
AND `j`.`nama_tagihan` = 'Qurban'
GROUP BY `st`.`id_jenis_tagihan`
) AS sub2 ON `sub1`.`id_jenis_tagihan` = `sub2`.`id_jenis_tagihan`
Strangely an ` mark showed up after FROM (at line 4). Is there something wrong with my code? Thx.. ![]()
