2010-05-31 66 views
1

編輯如何從一張表插入一行到另一張表(哪些列有較少)?

好吧我解決了我所有的問題,但只有一個。是否有可能也有硬編碼的值插入。就像我說過的,我試圖插入一行(它的一些列)到另一個有大約80%相同列的表中,但是其餘的硬​​非空列需要一些值插入到它們中。

我想知道我可以給一個硬編碼值,或者我應該只是讓他們可爲空?

我試圖發現,是不是在一個表中,並將其插入到另一個行。我試圖插入的表格的列數少於另一個。

這些列爲空,但如果我可以在插入之前對某個值進行硬編碼,那將很酷。

但我有隻是想獲得它插入這麼多麻煩。

我有這樣的事情

SELECT p.ProductId, p.ProductName 
INTO SomeTable 
FROM Product as p 
WHERE p.ProductName != 'iPad' 

我會得到一個錯誤這樣雖然

消息4104,級別16,狀態1,行 多部分組成的標識符 「P .ProductId「無法綁定。

我不知道我在做什麼錯。我複製並粘貼了名字,所以我不認爲這是拼寫錯誤。

我正在使用ms sql 2005 express。

編輯

我忘了用別名就是爲什麼我得到這個錯誤更新我的where子句。現在我得到一個新的錯誤

在數據庫中已經有一個名爲 'SomeTable'的對象。

我的where子句。

SELECT p.ProductId, p.ProductName 
INTO SomeTable 
FROM Product as p 
WHERE NOT EXISTS (SELECT * FROM SomeTable WHERE p.ProductId = SomeTable.ProductId) 

回答

5

的語法應該是這樣的:

INSERT INTO table (f1, f2) 
SELECT a, b 
FROM table2 
WHERE somefield = 'some_value' 
相關問題