我有一个关于从我的方案中找到正确值的问题。 我有两张这样的表:
shift_id | shift_user | gate
-------- | ---------- | ------
1 | 1001 | 1
1 | 1001 | 2
1 | 1001 | 3
2 | 1002 | 1
2 | 1002 | 2
2 | 1002 | 3
3 | 1003 | 1
3 | 1003 | 3
id | shift_id | sale | gate
-----|------------|---------|----------
1 | 1 | 2000 | 1
2 | 1 | 30000 | 2
3 | 1 | 40000 | 3
4 | 2 | 300 | 1
5 | 2 | 4000 | 2
6 | 2 | 3200 | 3
7 | 3 | 5500 | 1
8 | 3 | 100000 | 3
如何计算每个shift_id的销售总额?
请提供一个查询的好方法。
非常感谢。
:)
修改
从答案的评论部分可以看出,我们需要获得特定班次的销售总额。
答案 0 :(得分:2)
答案 1 :(得分:2)
使用如下查询:
Select s.shift_id, sum(sale) from shift s INNER JOIN transaction
ON s.shift_id=t.shift_id group by s.shift_id
答案 2 :(得分:0)
您需要简单的分组
select shift_id, sum(sale)
from transactions
group by shift_id
如果您需要为特定组获取此结果,请按照这样做
select shift_id, sum(sale)
from transactions
group by shift_id
having shift_id = 1
答案 3 :(得分:0)
我为我的问题找到了解决方案。 我使用了以下查询:
select sum(sale) from transaction inner join shift on shift.shift_id=transaction.shift_id and shift.gate=transaction.gate;
返回正确的结果。 感谢您的回复,亲爱的朋友们。