在SQL Server中,如何选择值在列表中的ID,然后将匹配的ID插入到连接表中?

时间:2014-12-14 20:07:15

标签: sql sql-server

我正在尝试在查询管理器中连接selectinsert

如何将两个查询绑定在一起,以便每个匹配发生insert

我们如何调用结果来验证是否插入了匹配的记录ID,而不匹配的列表项是不是?

SELECT table1.ID  
FROM    table1  
WHERE table1.Name IN  ('Anne', 'Bob', 'Carol', 'Dave')  

INSERT INTO joinTable  
    (joinTable.table1_fk, joinTable.table2_fk)  
VALUES (table1.ID,1)  

2 个答案:

答案 0 :(得分:2)

基本思路是使用insert . . . select

INSERT INTO joinTable(table1_fk, table2_fk)  
    SELECT table1.ID, 1
    FROM    table1  
    WHERE table1.Name IN  ('Anne', 'Bob', 'Carol', 'Dave')  

答案 1 :(得分:1)

Q值。如何将两个查询绑定在一起,以便每次匹配都插入插入?

一个。要通过查询将数据移动到现有表中,INSERT INTO语句可以解决问题。

INSERT INTO joinTable ('table1_fk', 'table2_fk')
SELECT ID, 1
FROM table1 
WHERE Name IN ('Anne', 'Bob', 'Carol', 'Dave')

http://www.w3schools.com/sql/sql_insert_into_select.asp

Q值。我们如何调用结果来验证是否插入了匹配的记录ID,而不匹配的列表项是不是?

一个。这是一个单表SQL查询...只能插入那些与WHERE子句匹配的记录。