SELECT *, DATE_FORMAT(FROM_UNIXTIME(commodity), "%Y-%m-%d") AS commodity_date FROM `fa_ordering_information` WHERE `customer_id` = 1 AND commodity_date='2024-12-16' ORDER BY `id` DESC LIMIT 0,10 报错修复下

SELECT *, DATE_FORMAT(FROM_UNIXTIME(commodity), "%Y-%m-%d") AS commodity_date FROM `fa_ordering_information` WHERE `customer_id` = 1 AND commodity_date='2024-12-16' ORDER BY `id` DESC LIMIT 0,10 报错修复下
用户252301526
2024年12月28日
|
浏览 116

抱歉,您提供的 SQL 查询语句中无法直接使用别名 commodity_date 来进行条件筛选。在 SQL 中,别名无法直接用于 WHERE 子句中。您可以尝试以下两种方法来修复这个问题:

  1. 使用子查询:
复制代码
SELECT * 
FROM (
    SELECT *, DATE_FORMAT(FROM_UNIXTIME(commodity), "%Y-%m-%d") AS commodity_date 
    FROM `fa_ordering_information` 
    WHERE `customer_id` = 1
) AS subquery
WHERE commodity_date='2024-12-16' 
ORDER BY `id` DESC 
LIMIT 0,10;
  1. 直接在 WHERE 子句中使用原始字段:
复制代码
SELECT * 
FROM `fa_ordering_information` 
WHERE `customer_id` = 1 
AND DATE_FORMAT(FROM_UNIXTIME(commodity), "%Y-%m-%d") = '2024-12-16' 
ORDER BY `id` DESC 
LIMIT 0,10;

您可以根据您的实际需求选择其中一种修复方法进行尝试。

我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;