gpt4 book ai didi

mysql - 面对 "Error Code 1248"派生表必须有自己的 Alise,如何正确编写使用数学函数计算列的子查询?

转载 作者:行者123 更新时间:2023-11-29 07:24:15 24 4
gpt4 key购买 nike

我在练习中被要求从两列 List_price 和 discount_amount 中计算三个值。我的部分问题是我的编程本能会阻碍我完全掌握所教内容的能力。

谁能告诉我代码有什么问题,并提供一个模板来更好地处理这种情况。

SELECT list_price, discount_percent, product_name, raw_percent,
discount_amount, (list_price - discount_amount) AS discount_price
FROM (
SELECT discount_percent,
list_price,
(discount_percent /10) = raw_percent
(list_price * raw_percent) = discount_amount
) ORDER BY discount_price DESC LIMIT 5;

最佳答案

Derived Tables must have their own Aliases

MySQL 有一个要求,如果您要访问子查询返回的结果集的列,那么子查询应该在外部查询中正确地别名(即使该别名实际上没有在查询中使用)。

您需要为您在 WHERE 子句中使用的子查询设置别名:

SELECT ...
FROM (
SELECT ...
) AS some_alias
ORDER BY discount_price DESC LIMIT 5;

关于您的查询的其他说明:

  • 列 « product_name » 应由子查询返回,否则在外部查询中将不可用
  • 在 « raw_percent » 之后的子查询中缺少一个逗号

关于mysql - 面对 "Error Code 1248"派生表必须有自己的 Alise,如何正确编写使用数学函数计算列的子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54716554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com