繁体   English   中英

如何在CodeIgniter活动记录中编写此mySQL查询?

[英]How to write this mySQL query in CodeIgniter active record?

如何使用活动记录CodeIgniter编写此查询。

我正在使用CodeIgniter版本2。可以使用库子查询来编写它吗?

范例:

$this->db->select('......');
$this->db->from('......');

这是我的查询。

SELECT `a`.`NAMA_BULAN` AS 'Bulan',
 CASE WHEN `b`.`TOTAL_STLH_DISC` IS NULL
 THEN '0'
 ELSE `b`.`TOTAL_STLH_DISC`
 END AS 'Total Pendapatan'
FROM `tbl_bulan` AS `a`
LEFT JOIN (
           SELECT MONTH(`tbl_transaksi_jual`.`TGL_TRANSAKSI`) AS `TGL_TRANSAKSI`,
           SUM(`tbl_transaksi_jual`.`TOTAL_STLH_DISC`) AS `TOTAL_STLH_DISC`
           FROM `tbl_transaksi_jual`
           WHERE `tbl_transaksi_jual`.`ID_CABANG`=2
           GROUP BY MONTH(`tbl_transaksi_jual`.`TGL_TRANSAKSI`)
          ) AS `b` ON `a`.ID_BULAN = `b`.`TGL_TRANSAKSI`
ORDER BY `a`.ID_BULAN ASC

谢谢你帮我

您可以在$ this-> db-> query('your query')中编写整个查询

您可以编写手动查询并使用$this->db->query($sql)函数。

    $sql = "SELECT `a`.`NAMA_BULAN` AS 'Bulan',
                 CASE WHEN `b`.`TOTAL_STLH_DISC` IS NULL
                 THEN '0'
                 ELSE `b`.`TOTAL_STLH_DISC`
                 END AS 'Total Pendapatan'
                FROM `tbl_bulan` AS `a`
                LEFT JOIN (
                           SELECT MONTH(`tbl_transaksi_jual`.`TGL_TRANSAKSI`) AS `TGL_TRANSAKSI`,
                           SUM(`tbl_transaksi_jual`.`TOTAL_STLH_DISC`) AS `TOTAL_STLH_DISC`
                           FROM `tbl_transaksi_jual`
                           WHERE `tbl_transaksi_jual`.`ID_CABANG`=2
                           GROUP BY MONTH(`tbl_transaksi_jual`.`TGL_TRANSAKSI`)
                          ) AS `b` ON `a`.ID_BULAN = `b`.`TGL_TRANSAKSI`
                ORDER BY `a`.ID_BULAN ASC";

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM