【问题标题】:Multiply two columns and sum them on inner join将两列相乘并在内连接上求和
【发布时间】:2017-03-23 11:01:47
【问题描述】:

我有两张表,我需要得到a.TOTAL * b.QUANTITY 的总和。

a (A_ID, TOTAL)

b (B_ID, QUANTITY)

到目前为止,我写道:

SELECT a.A_ID, a.TOTAL * b.QUANTITY as calculation
FROM a INNER JOIN b ON 
a.A_ID = b.B_ID

我尝试...SUM(a.TOTAL * b.QUANTITY) 作为计算,但它不起作用。如果有任何帮助,我将不胜感激!

【问题讨论】:

  • 请显示示例数据和所需的结果,以解释您的计算为什么不起作用。
  • 您还应该告诉我们您使用的是哪个版本的 SQL。我认为某些数据库甚至不允许使用SUM 而不使用GROUP BY(MySQL 是一个例外)。

标签: sql


【解决方案1】:

试试这个:

SELECT A_ID, SUM(calculation) as mySum
FROM (
    SELECT a.A_ID, a.TOTAL * b.QUANTITY as calculation
    FROM a INNER JOIN b ON 
    a.A_ID = b.B_ID
) q
GROUP BY A_ID

【讨论】:

    【解决方案2】:

    您是否打算对 A 的 id 进行分组。如果是这样,那么这可能会给出您想要的结果:

    SELECT a.A_ID,
           SUM(a.TOTAL * b.QUANTITY) AS calculation
    FROM a
    INNER JOIN b
        ON a.A_ID = b.B_ID
    GROUP BY a.A_ID
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多