我尝试这样做:从表resource_id
中查找items
,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中。谁能看到我做错了什么?
谢谢,Max
答案 0 :(得分:1)
如错误所示,您的语法错误。试试这个:
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
答案 1 :(得分:1)
更新元素AS t1,
(SELECT asset_id,resource_id
来自物品
WHERE resource_id不是NULL
GROUP BY asset_id
)AS t2
SET t1.resource_id = t2.resource_id
在哪里t1.asset_id = t2.asset_id;