sql >> Databáze >  >> RDS >> Mysql

Jak napsat tento složitý dotaz v codeigniter?

$this->db->query() funkce POUZE vrací PRAVDA/NEPRAVDA při úspěchu nebo neúspěchu. NEVRÁTÍ sadu výsledků databáze, nenastavuje časovač dotazu ani nekompiluje data vazby ani neukládá váš dotaz pro ladění. Jednoduše vám umožní odeslat dotaz. Většina uživatelů bude tuto funkci používat jen zřídka.

Zkuste to takto:-

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



  1. Aktualizujte dotaz pomocí LEFT JOIN , Variable a Autoincrement pomocí MySQL

  2. Vygenerujte časové období ze dvou datových sloupců

  3. MySQL zřetězení všech sloupců

  4. mysql kombinuje výsledky dotazů vedle sebe