我需要根据公共列合并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
答案 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.