2013-12-09 149 views
0

在这里发生什么问题就要疯了。将表格数据插入到另一个表格

所有我试图做的是:“从一个表以两列,并插入到其他表”

enter image description here

,我使用的查询是这样的:

insert into Component_Capacitor values (Component_Capacitor.itemNo, Component_Capacitor.itemDescription) 
    select [Item No#], [Item Description] from dbo.Sheet1$ where 
    [Item Description] LIKE 'CAP %' ; 

错误是这样的:

Msg 4104, Level 16, State 1, Line 1 
The multi-part identifier "Component_Capacitor.itemNo" could not be bound. 
Msg 4104, Level 16, State 1, Line 1 
The multi-part identifier "Component_Capacitor.itemDescription" could not be bound. 

我检查了语法,表名和一切似乎很好。

列类型也相似(nvarchar(255),null)

任何想法,我究竟做错了什么?

+1

从插入语句中删除单词“values”。 – Marc

+0

@Marc:确切的。像魅力一样工作。谢谢 –

回答

3

我不使用SQL Server,但我认为您需要从您的语句中删除单词“values”。

insert into Component_Capacitor (Component_Capacitor.itemNo, Component_Capacitor.itemDescription) 
    select [Item No#], [Item Description] from dbo.Sheet1$ where 
    [Item Description] LIKE 'CAP %' ; 
2
insert into Component_Capacitor 
(Component_Capacitor.itemNo, Component_Capacitor.itemDescription) 
    select [Item No#], [Item Description] from dbo.Sheet1$ where 
    [Item Description] LIKE 'CAP %' ; 
0

使用ItemNoItem Description简单Item No和同样的事情移除空白。 并删除代码中的值名称

+1

user3044294,它不是答案,它不会工作。您必须改用[]。空间不能被删除。 – Aditya

+0

Aditya检查他已经使用[]的问题。 – user3044294

+0

是的,但源表中有空格名,所以如何删除空格然后尝试? – Aditya

2

正确替换列名称&表名。这应该工作。

INSERT INTO DBO.COMPONENT_CAPACITOR (ITEMNO, ITEMDESCRIPTION) 
SELECT A.ITEMNO, A. ITEMDESCRIPTION FROM SHEET A 
WHERE ITEMDESCRIPTION LIKE 'CAP%' 
+0

你实际得到的错误,格式应该是这样的,插入到destination_table(col1,col2,...)从source_table S中选择(S.col1,S.col2,...) – Aditya

相关问题