Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 写这段代码的另一种方法是什么?SQL中有快捷方式吗?_Mysql_Sql - Fatal编程技术网

Mysql 写这段代码的另一种方法是什么?SQL中有快捷方式吗?

Mysql 写这段代码的另一种方法是什么?SQL中有快捷方式吗?,mysql,sql,Mysql,Sql,我学习SQL的第一周,在课堂上,我们将复习一些任务。如果可能的话,您可以建议如何通过缩短代码来节省时间吗 任务:每位员工的最佳客户 创建一个查询,检索每个员工花费超过5000美元的每个客户的总销售额提示:使用数据库中已有的订单小计查询。结果应按员工姓氏升序排序,然后按每个员工的总数降序排序 盟军是否喜欢客户c订单o员工e订单详细信息od SELECT E.EmployeeID, LastName, FirstName, CompanyName, cast(Sum((unitprice-(uni

我学习SQL的第一周,在课堂上,我们将复习一些任务。如果可能的话,您可以建议如何通过缩短代码来节省时间吗

任务:每位员工的最佳客户

创建一个查询,检索每个员工花费超过5000美元的每个客户的总销售额提示:使用数据库中已有的订单小计查询。结果应按员工姓氏升序排序,然后按每个员工的总数降序排序


盟军是否喜欢客户c订单o员工e订单详细信息od

SELECT E.EmployeeID, LastName, FirstName, CompanyName, 
cast(Sum((unitprice-(unitprice*discount))*quantity)as decimal (18,2)) AS SumOfSubtotal
FROM Orders O

JOIN Customers C ON O.CustomerID = C.CustomerID
JOIN [Order Details] OD ON OD.OrderID = O.OrderID
JOIN Employees E ON O.EmployeeID=E.EmployeeID  

GROUP BY C.CompanyName, E.EmployeeID, E.LastName, E.FirstName
HAVING SUM((UnitPrice-(UnitPrice*discount))*Quantity) > 5000
ORDER BY E.LastName, SUM((UnitPrice-(UnitPrice*discount))*Quantity) DESC

是的,您可以为表名使用别名“Order Subtotals query ready in the database”这是什么样子的?如果您正确地标记了问题,您可能会得到更合适的帮助;MySQL不使用[]来划分标识符。它说我们有order sub,但实际上我们必须自己想出一个公式,请在代码问题中给出一个-cut&paste&runnable代码;示例输入,具有预期和实际输出,包括逐字错误消息;标签和清晰的说明和解释。对于包含DBMS/product的SQL和包含约束和索引的DDL。用于SQL性能,包括解释结果。约束、索引和计划对性能至关重要。PS消除时间意味着什么?把这段代码写得短一点到底意味着什么&你为什么在意呢?你的问题到底是什么?PS请不要要求快速回复。您将如何准确输入?我很抱歉问了这么多愚蠢而简单的问题,但斗争是真实的:@MaximBushko我编辑了你的代码,所以看起来smaller@MaximBushko你是什么意思,你到底要怎么输入?通过打字?剪贴?通过转换为MySQL或您实际使用的DMBS SQL?在你的帖子和评论中,使用足够的单词、句子和引用部分例子来清楚、完整地表达你的意思。
SELECT E.EmployeeID, LastName, FirstName, CompanyName, 
cast(Sum((unitprice-(unitprice*discount))*quantity)as decimal (18,2)) AS SumOfSubtotal
FROM Orders O

JOIN Customers C ON O.CustomerID = C.CustomerID
JOIN [Order Details] OD ON OD.OrderID = O.OrderID
JOIN Employees E ON O.EmployeeID=E.EmployeeID  

GROUP BY C.CompanyName, E.EmployeeID, E.LastName, E.FirstName
HAVING SUM((UnitPrice-(UnitPrice*discount))*Quantity) > 5000
ORDER BY E.LastName, SUM((UnitPrice-(UnitPrice*discount))*Quantity) DESC