【问题标题】:MySQL Join AND SUM on Both Tables两个表上的 MySQL Join AND SUM
【发布时间】:2022-11-11 04:39:55
【问题描述】:

嗨,我正在尝试加入两个表并将两个表列的结果相加,但我只是不知道该怎么做。

我会在这里放一些示例代码,但因为我是在 Joomla 中做的!无论如何,这对大多数人来说都没有意义。我可以将普通 SQL 转换为 Joomla!...

这是两个示例表,预期结果在底部...

发票表;

id owner amount
1 123 300.00
2 123 125.00
3 144 200.00
4 166 155.00

费用表;

id owner amount
1 123 10.00
2 123 50.00
3 144 50.00

结果应该是;

owner invoices expenses
123 425.00 60.00
144 200.00 50.00
166 155.00 0.00

我会很感激任何帮助。谢谢你。

【问题讨论】:

  • 首先考虑正确规范化您的数据 - 如果您最终得到两个具有相同列的表,请始终质疑自己,您应该有一个用于事务的表和一个事务类型列。然后,您不需要聚合和连接每个表。

标签: mysql sum left-join


【解决方案1】:

我认为您可以使用如下查询?

SELECT 
  t1.owner, SUM(t1.amount) AS invoices, SUM(IFNULL(t2.amount,0)) AS expenses 
FROM
  invoices AS t1
  LEFT JOIN expenses AS t2 ON t1.owner = t2.owner

【讨论】:

  • 我们只需要稍微调整一下选择,因为所有者字段不明确
  • @Luis Fernando Prudencio Cruz 你是对的。
猜你喜欢
  • 1970-01-01
  • 2017-12-07
  • 1970-01-01
  • 2019-06-13
  • 2014-09-06
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
  • 2018-07-22
相关资源
最近更新 更多