【问题标题】:How to write this mySQL query in CodeIgniter active record?如何在 CodeIgniter 活动记录中编写这个 mySQL 查询?
【发布时间】:2016-05-23 01:44:05
【问题描述】:

如何使用活动记录 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

谢谢你帮助我。

【问题讨论】:

    标签: php mysql codeigniter activerecord


    【解决方案1】:

    你可以把整个查询写在 $this->db->query('your query')

    【讨论】:

      【解决方案2】:

      您可以编写手动查询并使用$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();
      

      【讨论】:

      • 以及如何在该查询中传递变量,例如
      • 简单来说,您的变量是 $str,您的查询是 $sql = "select * from table where colmn = {$str}";
      猜你喜欢
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 1970-01-01
      • 2012-11-15
      相关资源
      最近更新 更多