[英]MySQL update using inner join on a nested query
我正在尝试这样做:从一个表items
查找一个resource_id
,它具有asset_id
和resource_id
,并用它来设置另一个表中的resource_id
字段elements
,该表也具有asset_id
和resource_id
。
UPDATE t1 SET t1.resource_id = t2.resource_id
FROM elements t1 INNER JOIN
( SELECT asset_id, resource_id
FROM items
WHERE resource_id is not null
GROUP BY asset_id ) t2
ON t1.asset_id = t2.asset_id;
我收到非常模糊的信息:
ERROR 1064 (42000): 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 'FROM elements t1 INNER JOIN
( SELECT asset_id, resource_id
FROM items' at line 2
这是在MySQL 5.6.27中。 谁能看到我在做什么错?
谢谢,马克斯
如错误所示,您的语法错误。 尝试这个:
UPDATE elements as t1
INNER JOIN
( SELECT asset_id, resource_id
FROM items
WHERE resource_id is not null
GROUP BY asset_id ) t2
ON t1.asset_id = t2.asset_id
SET t1.resource_id = t2.resource_id
更新元素AS t1,
(从资源WHERE_ID不为空的GROUP BY资产ID的项目中选择SELECT资产ID,资源ID)AS t2设置
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.