SQL 选择销售额最低的员工的所有订单
Posted
技术标签:
【中文标题】SQL 选择销售额最低的员工的所有订单【英文标题】:SQL select all the orders for employees with minimum sales 【发布时间】:2012-11-05 04:49:08 【问题描述】:我正在尝试从以下数据库架构中选择所有销售额最低的员工:
员工(eno、ename、zip、hdate)
零件(pno, pname, qoh, price, level)
客户(cno、cname、街道、邮编、电话)
订单(ono、cno、eno、收货、发货)
Odetails(ono, pno, qty)
邮政编码(邮编,城市)
我无法在没有错误的情况下获取我正在处理的用于计算每位员工的总销售额的查询。我的问题是获取与员工相关的每个订单的数量 * 价格。
【问题讨论】:
【参考方案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。
希望这有助于交配。
【讨论】:
以上是关于SQL 选择销售额最低的员工的所有订单的主要内容,如果未能解决你的问题,请参考以下文章
2023-01-15:销售员。编写一个SQL查询,报告没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。以 任意顺序 返回结果表。 DROP TABLE IF EXISTS `com
2023-01-15:销售员。编写一个SQL查询,报告没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。以 任意顺序 返回结果表。 DROP TABLE IF EXISTS `com