[英]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.