Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie schreiben Sie diese komplexe Abfrage in Codeigniter?

$this->db->query() Die Funktion gibt NUR WAHR/FALSCH bei Erfolg oder Misserfolg zurück. Es gibt KEINE Datenbank-Ergebnismenge zurück, noch setzt es den Abfragetimer, kompiliert Bindungsdaten oder speichert Ihre Abfrage zum Debuggen. Sie können einfach eine Anfrage stellen. Die meisten Benutzer werden diese Funktion selten verwenden.

Versuchen Sie es folgendermaßen:-

$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;