mysql - 带 sum 的复杂关系 mysql 查询

标签 mysql database join sum

我正在努力构建一个 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.totalcash.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/

相关文章:

php - 如何从本地主机连接到我的数据库 sql 文件?

mysql - 按 nid 分组和按日期排序并使用组 ID Drupal

mysql - 如何在MYSQL中选择两种组合情况的结果?

MySQL连接所有列

database - 我应该使用 Post 还是 Put 来编辑数据库中的人员,我应该使用哪个来添加新人员?

mysql - PHP SQL - 左连接 + where + or

mysql - SQL 左 JOIN 有 4 列

mysql - 使用 "MATCH AGAINST"搜索会导致 CakePHP 应用程序崩溃

sql - 使用单个查询在 postgres 数据库中搜索多个表?

join - 是否有 clojure 函数来 "join"两个映射列表?