我有以下我的数据库表的总和:如何计算关联到不同用户的销售
Sales
-------------------------
id client account sale
1 X A2 400
2 X A2 300
3 X A1 100
4 X A1 200
Account Users
-------------------- -------------------------------------
accountid account id username first_name last_name
A1 Acc1 U1 abc Manish Goyal
A2 Acc2 U2 xyz Yogita Sharma
A3 Acc3 U3 jkl Nitish Malhotra
AccountUsers
------------------------
id accountid user
1 A1 U1
2 A1 U2
3 A1 U3
我想从被关联到该帐户和帐户访问销售表中获取销售列的总和由Manish和Yogita用户提供。
我写了下面的SQL
SELECT SUM(Sales.sale) as total_sale, Account.account, Sales.client
FROM sales
INNER JOIN Account ON Sales.accountid = Account.accountid
INNER JOIN AccountUsers ON AccountUsers.accountid = Account.accountid
INNER JOIN Users ON Users.id = AccountUsers.user
WHERE ((trim(CONCAT(Users.first_name,' ',Users.last_name)) = 'Manish Goyal') OR (trim(CONCAT(Users.first_name,' ',Users.last_name)) = 'yogita sharma'))
我得到了以下结果:
client account total_sale
X Acc1 600
X Acc2 1400
不过,我希望得到以下结果:
Output
client account total_sale
X Acc1 300
X Acc2 700
的事情是,如果一个销售与两个账户的用户相关联,然后根据账户返回销售。 我被困在那里。 先谢谢了!...
我觉得 '马尼什戈亚尔' 和 'yogita夏尔马' 都得到300 total_sale因为两者的用途有AccountUsers表相同ACCOUNTID。 –
您需要某个GROUP BY子句 –
我将group by子句添加到sql查询中,但不起作用 –