【发布时间】:2021-08-25 04:29:52
【问题描述】:
我有两个mysql表。
Invoice_details
invoice_no proje_ID invoice_Date invoice_amount
1004 6
1005 4
1006 2
1007 2
1008 1
1009 7
received_amount_details
invoice_no received_amount
1004 205.00
1004 40.00
1006 283.50
Expected ouput: select from invoice_details where proje_ID =6
invoice no invoice_amount invoice_Date received_amount
1004 245.00
Expected ouput: select from invoice_details where proje_ID =2
invoice no invoice_amount invoice_Date received_amount
1006 283.50
1007 0.00 (becoz 1007 invoice is not there in another table called received_amount_details so show total sum 0.00)
Expected ouput: select from invoice_details where proje_ID =7
invoice no invoice_amount invoice_Date received_amount
1009 0.00
这是我的查询:
public function many($id) {
$sql = "SELECT invoice_details.invoice_No, invoice_details.invoice_Date, invoice_details.invoice_amount,
SUM(received_amount_details.received_amount) as totalreceiptamt
FROM
(SELECT DISTINCT invoice_no, received_amount FROM received_amount_details) AS received_amount_details
INNER JOIN invoice_details ON received_amount_details.invoice_no = invoice_details.invoice_No
where invoice_details.proje_ID='7'
group by invoice_details.invoice_No";
return $this->db->query($sql)->result();
}
如果我选择 proje_ID='7' 的发票详细信息,目前会得到一个空结果 我必须在哪里更改我的 php 代码?
当我选择一张发票(发票编号:1004)时,它将显示所有发票详细信息和总收到金额的总和(205.00 + 40.00)。但是如果选择发票(发票编号:1007)我得到空数据,因为这个 1007第二张表中没有发票号。如果在 received_amount_details 表中不存在,则返回发票详细信息和总 received_amount =0.00。 (我想显示项目 id =2 和 total received_amount =0.00 的发票详细信息。)
【问题讨论】:
-
你为什么要删除你的其他问题?并且当它是具有 0 的不同项目 id 时,您重复了您所说的“项目 id = 2 和总收到金额 = 0.00”的位置
标签: php mysql codeigniter