我正在查询以下表格:
categories
-id
-name
-parent_id
-last
products2categories
-id
-product_id
-category_id
我想做的是获取记录的 category name
和 category id
哪个product_id
在表中products2categories
是 10 和 last
在表中categories
是 1
这是我尝试执行的查询:
SELECT `categories.id`,`categories.name`
FROM `categories`
JOIN `products2categories`
ON `categories.id` = `products2categories.category_id`
WHERE `categories.last` = 1
AND `products2categories.product_id`= 10
返回时出现以下错误:
#1054 - Unknown column 'categories.last' in 'where clause'
展示我想要得到的东西:
categories
-id 8
-name "my_name"
-parent_id 0
-last 1
products2categories
-id 1
-product_id 10
-category_id 1
我想得到 8
的 ID 作为结果和“my_name”的名称,但它必须基于表 products2categories,因为一个产品可以有多个与其相关的类别。
提前致谢!
最佳答案
替换
WHERE `categories.last` = 1
与
WHERE `categories`.`last` = 1
转义列名和表名的反引号不能用于转义表和列的组合。它必须应用于两者。
关于mysql - SQL 查询产生了一个我无法解决的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18145459/