codeigniter查询:当我使用sum select函数从另一个表中获取数据时,如何获取表中某一列的所有记录

kpbpu008  于 2021-06-23  发布在  Mysql
关注(0)|答案(4)|浏览(259)

这个例子是我有一个叫做journal\u type的表
id|类型|账号|描述|

fivyi3re

fivyi3re1#


1           | 1.1               | 银行           | 130
2           | 1.2               | 银行和现金| 0
三           | 1.3               | 销售             | 90
4           | 1.4               | 股票           | 0
5           | 1.5               | 办公工具  |0
6           | 1.6               | 工资单        | 0

public function get_finance_debitkredit($periode1, $periode2){
  $query = $this->db->select('sum(debit) as debit, journal_type.account_no, journal_type.description, journal.id_type')
          ->from('journal_type')
          ->join('journal', 'journal.id_type = journal_type.id_type', 'left outer')
          ->group_by('journal.id_type')
          ->where('date_of_transaction >=', $periode1)
          ->where('date_of_transaction <=', $periode2)
          ->order_by('journal_type.account_no')
          ->get();
    return $query;  
}

但到目前为止,我得到的是,它只打印有事务的记录数据(在本例中是id类型1和id类型3),所以只显示2行。我可以使所有6行的日记账类型显示为我想要的一些改变的查询。这段代码来自我在codeigniter中的模型

zed5wv10

zed5wv102#


1                      | 1        | 50.00 | 08-22-2018
2                      | 三        | 90 | 08-21-2018
三                      | 1        | 80 | 08-17-2018
到目前为止,我所做的是基于月份(在本例中是八月)对第二个表的debit列中的数据求和,并希望按id\ u类型对其进行分组。所以应该是像id,type1=130.00,id,type3=90.00
但我希望输出是打印第一个表中id\u type列中的所有记录,并让另一个列在不使用时为空。也许我想要的结果是这样的
id|类型|账号|描述|借方

xfyts7mz

xfyts7mz3#

首先需要为该记录创建单独的表,然后需要与该表左联接。使用下面的查询,它将给出您想要的结果

public function get_finance_debitkredit($periode1, $periode2){
$query = $this->db->select('finl_tbl.debit, journal_type.account_no, journal_type.description, journal_type.id_type')
      ->from('journal_type')
      ->join('(SELECT sum(debit) as debit,id_type FROM journal WHERE date_of_transaction >='.$periode1.' AND date_of_transaction <='.$periode2.' group by id_type) as finl_tbl', 'finl_tbl.id_type = journal_type.id_type', 'left')
      ->order_by('journal_type.account_no')
      ->get();
return $query;  
}
sxissh06

sxissh064#


1           | 1.1               | 银行
2           | 1.2               | 银行和现金
三           | 1.3               | 销售
4           | 1.4               | 股票
5           | 1.5               | 办公工具
6           | 1.6               | 工资单
第二个表叫做journal
id|交易| id|类型|借方|交易日期|

相关问题