1

我需要基于一个公共列在 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
4

1 回答 1

6

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

SQLite 通过使用 ATTACH 给你这个。

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

运行这个:

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.
于 2013-09-10T07:32:03.217 回答