values table
id name attributes_id
1 black 3 [->]
2 red 3 [->]
3 blue 3 [->]
5 tortorise 3 [->]
6 oakley 1 [->]
9 green 3 [->]
10 native 1 [->]
product_values表
values_id products_id
1 [->] 5 [->]
2 [->] 10 [->]
sql SELECT values.name, product_values.products_id FROM `product_values` inner
join values ON product_values.values_id=values.id;
误差You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'values on
product_values.values_id=values.id' at line 1
感谢您的帮助。
您可能应该在values
表引用周围加上一些引号。它是一个保留字
SELECT
`values`.name,
product_values.products_id
FROM
product_values
INNER JOIN `values` ON product_values.values_id = `values`.id;
根据手册,VALUES
是mysql的保留关键字。查看这里:MySQL保留关键字列表。为了避免出现语法错误,关键字或列名应该使用这个称为backtick的符号进行转义。例如,
SELECT values.name, product_values.products_id
FROM `product_values`
inner join `values` ON product_values.values_id = `values`.id;