如何为表中的所有列添加记录

时间:2014-06-18 13:47:24

标签: sql

我有两张桌子,例如:

Table1ID   Name    visitAreaCode
   1        test1     003
   2        test2     003
   3        test5     004


Table2ID Table1ID  BingID
    1       2       2


Table3 BingID
  1       1
  2       2
  3       2  

如果table2中的visitAreaCode不存在于table2中(通过Table1ID),则查询应该添加所有这些。在表2中,BindID 1不存在,因此在执行此查询时,BingID 1应与所有isacode以003开头链接。表2应如下所示:

Table2ID Table1ID  BingID
    1       3         2
    2       1         1
    3       2         1

我可以使用IF NOT EXISTS(SELECT * FROM ...,但这只会添加一条记录而不是所有记录。

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的问题,请尝试以下方法:

INSERT INTO Table2 (Table1ID, BingID)
  SELECT t1.Table1ID, t3.BingID FROM Table1ID as t1, Table3 as t3
  WHERE
    NOT EXISTS (
      SELECT * FROM Table2 as t2
      WHERE t2.Table1ID = t1.Table1ID AND t2.BingID = t3.BingID
    )

假设Table2.Table2ID是自动增量