我正在努力构建一个mysql查询。我需要从两个表中获取数据:
Table cash
----------
id
income_money
cashdata_id
paymentterm
_
Table cash_data
------------
id
total
user
date
因此cash_data
包含需要付款的付款,cash
包含已处理的已注册付款。
将付款标记为已完成后,cash_data
中的相关行会使用关联的user
ID和date
进行更新。
我们的想法是从cash_data
进行查询,并检查哪些付款已经支付了一些收入,但未标记为完整(即没有user
和date
字段数据)。
好的,这里很简单。
问题是可能有多个cash
表行与一个cash_data
行相关,我必须选择所有cash_data
行,然后选择关系cash
行和总和cash.income_money
- 因为我需要将cash.total
与cash.income_money
进行比较。
答案 0 :(得分:0)
您需要加入这两个表。像这样:
SELECT SUM(cash.income_money), cash_data.total, cash_data.id
FROM cash_data
JOIN cash ON cash.cashdata_id=cash_data.id
答案 1 :(得分:0)
查询汇总金额:
这也使用左连接来显示可能尚未付款的行。
SELECT cd.id,
cd.total,
sum(c.income_money) AS "Total Income"
FROM cash_data cd
LEFT JOIN cash c ON c.cashdata_id = cd.id
GROUP BY cd.id,
cd.total;
第一个相当简单的查询:
select cd.id, cd.total, sum(c.income_money) as "Total Income" from
cash_data cd left join cash c
on c.cashdata_id = cd.id
group by cd.id, cd.total;