我现在有1500万旧记录(表1)的11万个新的记录(表2)和一个空表中的另一表的表进行比较(表3)。插入到表基于其他两个表
两个表1和表2共享数据 - 我想找到table1的表中不存在的表2的记录,然后insert
到这些表3。
到目前为止,我有以下的(这是返回上table3.uniqueCode错误未知列):
INSERT INTO table3
SELECT * FROM table1
WHERE table1.uniqueCode != table2.uniqueCode
我要指出,Table 1和Table不具有相同的结构,但两者有场uniqueCode,这不是一个KEY,而只是一个字面上唯一的字符串代码。
任何帮助将非常感谢,我已经看着使用JOIN
声明,但我也遇到了这种方法的错误。
谢谢!
更新 - 已回答
答案很简单:
INSERT INTO table3
(SELECT * FROM table1
WHERE uniqueCode not in (Select uniqueCode from table2))
有丰富的用于不同的答案低于裁缝略有不同的情况。请看看这些,因为它们可能会解决您可能会遇到的一些轻微变化的问题。 :)
您可以加入表说明('DESCRIBE table1','DESCRIBE table2','DESCRIBE table3')? – BlitZ 2014-09-02 08:26:13
你需要查询Mysql还是Sql-Server? – faster2b 2014-09-02 09:07:41
我正在通过mySQL命令行客户端运行这些查询。谢谢! – Chuck 2014-09-02 09:22:52