2017-07-25 60 views
1

我要的是让从表“item_db3”所有“脚本”列的值到表“item_db2”脚本'列获取的table2.column1值放入table1.column1

我想这脚本

UPDATE item_db2 SET item_db2.script=item_db3.script 
FROM item_db2 
JOIN item_db3 on (item_db2.script=item_db3.script) 

回答

1

交汇处JOINSET声明像

UPDATE item_db2 
JOIN item_db3 on item_db2.script = item_db3.script 
SET item_db2.script = item_db3.script 

**不知道你正在尝试做的,但你要更新的列上你正在加入。这有点奇怪

+0

我已经试过你的代码,但没有改变。 item_db3.script ddnt的值转到item_db2.script .. **我只是想将item_db3.script的值转移到item_db2.script – Ranz

+0

@Ranz中,为所讨论的两个表发布表结构。这看起来不正确的方式 – Rahul

0

好吧,我已经想通了

UPDATE item_db2 
SET item_db2.script=(SELECT item_db3.script 
FROM item_db3 
WHERE item_db3.id=item_db2.id); 
+0

很好,你已经想通了,但你的帖子基本上缺乏信息。它的工作原因你已经加入了一个不同的专栏,这是应该做的,这就是我的确切指出我的答案 – Rahul

+0

是的,我忘了把结构,但两个结构是相同的。无论如何感谢帮助我。 – Ranz

0
UPDATE item_db2 
SET item_db2.script = item_db3.script 
FROM item_db2 
JOIN item_db3 
ON item_db2.script = item_db3.script 

如果目标表目前是空的,那么你应该使用而不是INSERT:

INSERT INTO item_db2 (script) 
SELECT script FROM item_db3 
+0

不,你不能直接在'UPDATE'语句中使用'FROM'子句。参考文档 – Rahul

相关问题