我想从几个INNER JOINS更新表INVENTAR
中的列。
我有以下几点:
表INVENTAR
列PRODUCT_ID
,CATEGORY
表格PRODUCT_TO_CATEGORY
包含PRODUCT_ID
,CATEGORY_ID
列
表CATEGORY_DESCRIPTION
列CATEGORY_ID
,NAME
我希望NAME
列更新CATEGORY
列。
这是我的代码:
UPDATE inventar
SET inventar.category=category_description.name
FROM inventar
INNER JOIN product_to_category
ON product_to_category.product_id=inventar.product_id
INNER JOIN category_description
ON category_description.category_id=product_to_category.category_id
答案 0 :(得分:3)
正确的MySQL语法是:
UPDATE inventar i INNER JOIN
product_to_category ptc
ON ptc.product_id = i.product_id INNER JOIN
category_description cd
ON cd.category_id = ptc.category_id
SET i.category = cd.name;
您的语法看起来更适合SQL Server或Postgres。