我正在尝试从以下数据库模式中选择所有销售额最低的员工:
员工(eno、ename、zip、hdate)
零件(pno、pname、qoh、价格、级别)
客户(cno、cname、street、zip、电话)
订单(ono、cno、eno、收货、发货)
Odetails(ono, pno, qty)
邮政编码(邮编,城市)
我无法获得我正在处理的查询每位员工的总销售额而没有错误。我的问题是获取与员工相关的每个订单的数量 * 价格。
会不会是这样的:
SELECT Employees.eno, Employees.ename, SUM(Odetails.qty * Parts.price) AS Sales
FROM Employees JOIN
Orders ON Employees.eno = Orders.eno JOIN
Odetails ON Orders.ono = Odetails.ono JOIN
Parts ON Parts.pno = Odetails.pno
GROUP BY Employees.eno, Employees.ename
上面的选择查询(SQL Server)将返回一个员工列表及其各自的 eno(猜测员工编号)和 ename 以及他们的数量的总和乘以零件的价格,然后您将能够确定员工以最低销售额。您可以将上面的选择用作派生表,然后按销售额列排序,以查看销售额最少、第二少、第三等的顺序。我将联接简单地保留为“JOIN”,因为我不知道您的数据库,因为它可能是 INNER JOIN 或 OUTER JOIN。
希望这有助于交配。