【发布时间】:2017-06-06 07:41:54
【问题描述】:
我正在尝试使用 WHERE 子句以及它们的总和来获取两列(OTHER AND SENIOR)的差异。公式工作正常,但是,我没有得到我想要的结果。
我尝试使用 INNER JOIN 来做到这一点,不幸的是它不是我期望的结果
这是我的查询:
select a.ID as EMPLOYEE,
sum(a.amount) as other,
sum(b.amount) as senior,
(sum(a.amount) - sum(b.amount)) as result
from gndsale a
INNER join gndsale
b ON a.ID= b.ID
where a.TYPE = "5" and b.seniortype = "10"
group by a.ID
结果:
我想要做的是获得 Column (Other) where type = 5 和 Column (Senior) where Seniortype = 10
这是我对高级的查询:
select ID as EMPLOYEE, sum(amount)
from gndsale
where seniortype = "10"
group by ID
结果:
这是我对其他的查询:
select ID as employee, sum(amount)
from gndsale
where type = "5"
group by ID
结果应该是
9907 = 530
9912 = 63.71
谁能帮我解决这个问题? :(
样本/预期输出:
【问题讨论】:
-
您能否发布带有一些示例数据和预期结果的数据库架构?
-
嗨 Bikash,说实话,给我的数据表没有组织,我的任务是使用示例 excel 报告查找结果。
-
我的理解是你想得到
other和senior的区别,其中type=5和seniortype=10。如果我弄错了,请解释一下。 -
编辑您的问题并显示示例输入和输出。下面给出的两个答案都不符合您的期望,我的结论是您从未明确表达过您的期望。
标签: mysql sql join inner-join difference