sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo escribir esta consulta compleja en codeigniter?

$this->db->query() la función SOLAMENTE devuelve VERDADERO/FALSO en caso de éxito o fracaso. NO devuelve un conjunto de resultados de la base de datos, ni establece el temporizador de consulta, ni compila datos de vinculación, ni almacena su consulta para depuración. Simplemente le permite enviar una consulta. La mayoría de los usuarios rara vez usarán esta función.

Prueba de esta manera:-

$sql  = "SELECT 
        a.ar, 
        a.jabatan, 
        COUNT(*) AS JumlahWPBaru, 
        SUM( 
            CASE WHEN a.no_shim IS NOT NULL 
            THEN 1 
            WHEN a.no_shim IS NULL 
            THEN 0 
            END ) AS JumlahHimbauan
        FROM (

        SELECT 
            a.ar, 
            c.jabatan, 
            a.npwp, 
            a.kpp, 
            a.cab, 
            a.namawp, 
            b.kd_shim, 
            b.no_shim, 
            b.tgl_shim
        FROM mfwpbudi a
        LEFT JOIN tb_shimbauan b ON ( a.npwp = b.npwp ) 
        LEFT JOIN easystp_user c ON ( SUBSTR( a.ar, 1, 9 ) = c.id_user ) 
        WHERE a.tanggal_daftar >  '2013-12-31'
        AND c.jabatan =  '05E'
        ) AS a
        GROUP BY a.ar";

$query = $this->db->query($sql);
$result = $query->result_array();
return $result;