【问题标题】:MYSQL Syntax Error with Two WHERE带有两个 WHERE 的 MYSQL 语法错误
【发布时间】:2015-03-10 18:20:28
【问题描述】:

过去 2 小时我一直在处理这段代码,但我不知道它有什么问题。我只想选择一个多月前添加的库存超过 20 件的产品。请帮帮我。

SELECT
    product.prodId,
    product.prodDatAdd,
    product.prodSto,
    product.prodTyp,
    petSupply.petSupId,
    petSupply.petSupNam,
    petSupply.petSupPri
FROM
    product
INNER JOIN petSupply ON product.prodId = petSupply.petSupId
WHERE (product.prodDatAdd < DATE_SUB(NOW(), INTERVAL 30 DAY) )
AND
WHERE (product.prodSto > 20);

最让我烦恼的是,如果我使用其中一个 WHERE 但不能同时使用两者,我可以运行查询。

【问题讨论】:

标签: mysql sql syntax-error where-clause mysql-error-1064


【解决方案1】:

只需删除第二个WHERE 语句。这是不必要和无效的。

SELECT
    product.prodId,
    product.prodDatAdd,
    product.prodSto,
    product.prodTyp,
    petSupply.petSupId,
    petSupply.petSupNam,
    petSupply.petSupPri
FROM
    product
INNER JOIN petSupply ON product.prodId = petSupply.petSupId
WHERE (product.prodDatAdd < DATE_SUB(NOW(), INTERVAL 30 DAY) )
AND
(product.prodSto > 20);

括号也是不必要的,但无害。

【讨论】:

    猜你喜欢
    • 2014-08-17
    • 2017-12-22
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多