select d.订单ID,d.订购日期 as d.订单日期,k.公司名称,发货日期, (dm.单价*dm.数量*(case when dm.折扣 = 0 then 1 else dm.折扣 end))as 销售额 from 订单 d join 订单明细 dm on dm.订单ID = d.订单ID join 客户 k on k.客户ID = d.客户ID order by dm.数量 desc limit 10;错在哪了
时间: 2023-12-10 21:37:03 浏览: 83
松下电机选型计算软件中文版Mselect3.2.1.0
这个 SQL 查询有一些问题。首先,MySQL 中使用别名时需要使用 AS 关键字,所以应该将 "as" 添加到 "d.订单日期" 后面;其次,"发货日期" 列在 SELECT 语句中没有出现在任何一个表的列名中,所以需要在 JOIN 语句中添加相应的表以及条件;最后,LIMIT 子句应该放在 ORDER BY 子句后面。
以下是修正后的 SQL 查询:
```
SELECT d.订单ID, d.订购日期 AS 订单日期, k.公司名称, d.发货日期, (dm.单价 * dm.数量 * (CASE WHEN dm.折扣 = 0 THEN 1 ELSE dm.折扣 END)) AS 销售额
FROM 订单 d
JOIN 订单明细 dm ON dm.订单ID = d.订单ID
JOIN 客户 k ON k.客户ID = d.客户ID
ORDER BY dm.数量 DESC
LIMIT 10;
```
阅读全文