0

我正在尝试从以下数据库模式中选择所有销售额最低的员工:

员工(eno、ename、zip、hdate)

零件(pno、pname、qoh、价格、级别)

客户(cno、cname、street、zip、电话)

订单(ono、cno、eno、收货、发货)

Odetails(ono, pno, qty)

邮政编码(邮编,城市)

我无法获得我正在处理的查询每位员工的总销售额而没有错误。我的问题是获取与员工相关的每个订单的数量 * 价格。

4

1 回答 1

1

会不会是这样的:

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。

希望这有助于交配。

于 2012-11-05T05:08:19.113 回答