2010-05-31 62 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' 
相关问题