合并来自不同数据库的sqlite中的两个表

时间:2013-09-10 07:17:19

标签: sql vb.net sqlite

我需要根据公共列合并sqlite中的两个表。问题是这两个表都属于不同的数据库。那么,在这里合并表格的有效方法是什么?

样本表就像这样,具有所需的结果。但问题是这两个表都在不同的数据库中。

Table 1: Employee_Pro_Profile
Columns: Emp_Id, Emp_Name, Emp_Sal

Table 2: Employee_Personal_Profile
Columns: Emp_Id, Emp_Home_Address, Emp_Phone

Resulting Table: Employee_Complete
Columns: Emp_Id, Emp_Name, Emp_Sal, Emp_Home_Address, Emp_Phone

1 个答案:

答案 0 :(得分:4)

首先,您必须将数据库附加到当前连接。

SQLite通过使用ATTACH为您提供此功能。

ATTACH DATABASE语句将另一个数据库文件添加到当前数据库连接。 ATTACH LINK

运行:

attach database DatabaseA.db as DbA;
attach database DatabaseB.db as DbB;

现在,您可以像使用表格一样引用数据库...

select
  *
from
  DbA.Table1 A
  inner join 
  DbB.Table2 B on B.Emp_Id = A.Emp_Id;

可以同时附加到单个数据库连接的数据库数量有限制。

如果出现问题,请检查您的设置,标志是:

#define SQLITE_LIMIT_ATTACHED                  7
// SQLITE_LIMIT_ATTACHED - The maximum number of attached databases.