将记录从一个表复制到另一个查询给出错误sql

时间:2013-04-16 15:43:21

标签: sql sql-server-2008

使用以下查询将记录从一个表复制到另一个表,但我收到错误

insert into table1 (datestamp)
select datestamp
from table2
where table1.datestamp is null

我想将表2中的datestamp记录复制到表1中,表1中的datestamp为null。

2 个答案:

答案 0 :(得分:1)

这是你的意思吗?

insert into table1 (datestamp)
select datestamp
from table2
where table2.datestamp is null

您在where子句中引用了table1 datestamp,但这是不允许的。

也许你真的想要update。如果是这样,您需要一种方法来链接这两个表:

update t1
    set datestamp = t2.datestamp
from table1 t1 join
     table2 t2
     on t1.id = t2.id
where t1.datestamp is null

答案 1 :(得分:0)

我假设桌子是由一些独特的ID捆绑在一起的?我们称之为tableID。

UPDATE table1 t1, table2 t2
SET t1.datestamp = t2.datestamp
WHERE t1.datestamp IS NULL
AND t1.tableID = t2.tableID