如何调试MySQL错误“您的SQL语法中有错误”?

时间:2015-04-17 16:56:17

标签: mysql database

我不断收到错误消息:

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以获得正确的语法,以便使用附近的详细信息,   来自product.supplier_id = supplier.sup'的产品内部联接供应商在第4行

有什么想法吗?这是我的代码:

    SELECT concat(product.stock_level)AS NumberOfStock,
    product.name,product.supplier_id,supplier.supplier_name,
    concat(address.supplier,'', town.supplier,'', post_code.supplier)as address,
    concat(email.supplier,'', contact_number.supplier)as contact details,
    from product inner join supplier 
    on product.supplier_id = supplier.supplier_id

    HAVING (product.stock_level) < 5

1 个答案:

答案 0 :(得分:1)

你的HAVING应该是一个WHERE。

HAVING用于测试聚合函数的值(例如,COUNT,SUM),并且将在GROUP BY子句之后。

WHERE用于测试普通列的值。

...
WHERE (product.stock_level) < 5

编辑:在解析HAVING / WHERE之后,我现在也看到了这一点:

选择列表中的最后一列不应该有逗号,而别名contact details应该是一个单词(contact_detailsContactDetails),或者必须转义为反引号包括空格(“联系方式”)。

...
concat(email.supplier,'', contact_number.supplier)as `contact details`
from product inner join supplier 
...