2012-11-23 57 views
4
INSERT INTO Reference_TB] ([RequestID] ,[WaveID]) 
VALUES (2222,(select tWaveID from @Table2)) 

我使用上面的查詢插入到表中。我知道@Table2有多個tWaveID,這就是爲什麼它顯示錯誤:插入到具有多個值表子查詢

子查詢返回多個值。當子查詢遵循=,!=,<,< =,>,> =或當子查詢用作表達式時,這是不允許的。

如何解決並插入twaveID重複RequestID作爲2222所有條目?

回答

6

,而不是使用子查詢的INSERT ... SELECT聲明:

INSERT INTO Reference_TB] ([RequestID] ,[WaveID]) 
(select 2222, tWaveID from @Table2) 
+0

大一個!這正是我想要的。但是,在SQL Server中,如果將'columnName FROM Table'部分放在'SELECT'列表的頭部,則會出現語法錯誤。它必須在最後。你知道這是爲什麼嗎? – Boris

4

不確定確切的語法,因爲你沒有指定一個系統。

使用插入選擇將插入的所有值

INSERT INTO Reference_TB] ([RequestID] ,[WaveID]) 
select 2222,tWaveID from @Table2