2013-04-16 29 views
0

使用下面的查詢從一個表複製記錄到另一個,但我得到的錯誤拷貝記錄到另一個查詢給錯誤的SQL

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

我想從表2複製郵戳的記錄表1表1中的datestamp爲空。

+1

而錯誤是? –

回答

1

這是你的意思嗎?

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

您參考表1郵戳的where子句中,這是不允許的。

也許你真的想要一個update。如果是這樣,你需要一種方法來鏈接兩個表:

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

呵呵...打我回答。 :-) – Lawson

+0

我用上面的查詢。它給了我錯誤說 「無效的對象名稱T1」 ' UPDATE T1 SET t1.DateStamp = t2.DateStamp FROM表4爲T1 INNER JOIN 日期爲T2 ON t1.ID = t2.ID CROSS JOIN T1 WHERE (t1.DateStamp IS NULL)' – ssaaddii

+0

@ssaaddii您收到錯誤,因爲您無法在連接中指定表別名;在這種情況下,您需要聲明'CROSS JOIN Table4'。但是你不應該需要交叉連接,無論如何... –

0

我假設表是由一些獨特的ID綁在一起?我們將調用該tableID。

UPDATE table1 t1, table2 t2 
SET t1.datestamp = t2.datestamp 
WHERE t1.datestamp IS NULL 
AND t1.tableID = t2.tableID 
相關問題