我正在努力构建一个 mysql 查询。我需要从两个表中获取数据:
Table cash
----------
id
income_money
cashdata_id
paymentterm
_
Table cash_data
------------
id
total
user
date
因此,cash_data
保存需要支付的付款,cash
保存已经处理的注册付款。
当付款标记为完成时,cash_data
中的相关行将使用关联的用户
ID 和日期
进行更新。
这个想法是从 cash_data
进行查询,并检查哪些付款已支付一些收入,但未标记为完整(即没有 user
和 日期
字段数据)。
好的,到这里就很简单了。
问题是,可能有多个 cash
表行与一个 cash_data
行相关,我必须选择所有 cash_data
行,然后选择关系 cash
行并对 cash.venue_money
求和 - 因为我需要将 cash.total
与 cash.venue_money
进行比较.
最佳答案
查询金额求和:
这还使用左联接来显示可能尚未付款的行。
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;
SQL fiddle :http://www.sqlfiddle.com/#!2/800b4/6
关于mysql - 带 sum 的复杂关系 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17151356/