繁体   English   中英

将另一个表列的总和添加到查询中

[英]Adding the sum of another table column to a query

我正在使用以下查询从数据库表(tb_bank_accounts)获取所有银行帐户。 还有另一个表tb_movements,我需要在表tb_movements的所有记录中将“收入”列的SUM添加为查询中的新列,其中“银行”列等于查询中的id_bank_account列。

$query="SELECT * from tb_bank_accounts LEFT JOIN tb_currencies ON tb_bank_accounts.currency = tb_currencies.id_currency";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);

$arr = array();
if($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $arr[] = $row;  
    }
}
# JSON-encode the response
$json_response = json_encode($arr);

// # Return the response
echo $json_response;

我想我应该使用另一个LEFT JOIN来做...

使用关联的子查询可能最简单。 像这样:

SELECT a.*, c.*,
       (SELECT SUM(m.income)
        FROM movements m
        WHERE m.bank_id = a.bank_id
       ) as income
from tb_bank_accounts a LEFT JOIN
     tb_currencies c
     ON a.currency = c.id_currency;

暂无
暂无

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

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