我有两个表,一个包含销售人员等员工信息,另一个包含交易信息。我需要查询两者,并返回2.5%的计算佣金,姓氏和姓氏。我所得到的结果返回到小数点后三位而不是两位,是否有可能将结果组合起来,为每个人返回一位?
SELECT fName, lName, Amount_Due * 0.025 AS Commission
FROM EMPLOYEE, "TRANSACTION"
WHERE EMPLOYEE.Eid = "TRANSACTION".eID
结果
fNAME | lNAME | Commission | 简 | 和 | 20.00 | 简
---|---|---|
和 | 12.00 | |
琼斯 | 10.000 | |
琼斯 | 15.000 | |
和 | 12.000 | |
和 | 14.00 |
使用这些sql数学函数round()
,sum()
和聚合GROUP BY
达到您的要求。
SELECT e.fName, e.lName, round(sum(t.Amount_Due * 0.025), 3) AS Commission
FROM EMPLOYEE e
INNER JOIN "TRANSACTION" t on e.Eid = t.eID
GROUP BY e.lName, e.fName