我有一张表,里面有关于市场的信息:
market_id | cashier_id | storekeeper_id
m1 | c1 | s1
m1 | c1 | s2
m1 | c1 | s9
m1 | c2 | s3
m2 | c7 | s5
m2 | c8 | s6
我还有收银台:
cashier_id | salary
c1 | 1100
c2 | 1100
c3 | 1100
c7 | 1220
c8 | 1150
还有table保管员:
storekeeper_id | salary
s1 | 1000
s2 | 1000
s3 | 1000
s5 | 1050
s6 | 1100
s9 | 1100
我想写一个查询,查找每个市场的工资汇总(出纳员和店主)。结果应该是:
m1 6300
m2 4520
我试着和另外两张table一起加入table市场,并使用它们 SUM(DISTINCT)
但这不包括同样薪水的雇员。我还有别的办法吗?
4条答案
按热度按时间1szpjjfi1#
nhn9ugyo2#
你可以用
UNION
把出纳和店主的工资结合起来。从那里一个简单的GROUP BY
会帮你找到你想要的东西。0vvn1miw3#
pbpqsu0x4#
你有一个非常非常糟糕的数据模型,除非你的意图是说一个给定的出纳在一个单一的市场中工作多次。
也就是说,你可以从数据中得到你想要的。
union all
是你的朋友: