2011-12-26 76 views
1

我工作的数据库,现在我需要一些建议的从你们..比较数据库和插入值

我有2个数据库许多行和列,这些分贝的包含客户的地址。 让我们将数据库命名为A,B。

现在的问题是我必须使用主键让电子邮件查找B中的地址。

如果地址存在,那就OK了。 否则,我们必须将地址插入到其他数据库中。

请告诉我如何做到这一点,以及我们可以使用哪种语言来做到这一点?

非常感谢您花时间阅读我的问题。

+3

您可以使用任何允许向数据库发送查询的语言来执行此操作。 – 2011-12-26 12:11:59

回答

1

我会不喜欢它这个:

INSERT INTO A (a, b, c, d) 
Select a, b, c, d 
From B 
Where id not in (Select id from A) 

This sav es从获取数据到本地变量和/或临时表。表现应该更好。

要实现的重要部分是您可以在select中硬编码值。列出列(插入行)的顺序必须与列出选择行中列的顺序相匹配。

0

您可以从另一databaseselect a table

比方说,你是在database A,以select一个tabledatabase B只是这样做:

select * from B..tablename 

现在你需要的是这样的:

insert into A..tablename 
select b.* from B..tablename b 
where b.email not in (select a.email from A..tablename a) 
+0

我想从表B的每封电子邮件,我必须与表A的电子邮件进行比较。 – Subash 2011-12-26 12:50:44

+0

@Subash这就是它在我的'选择' – 2011-12-26 12:53:36