繁体   English   中英

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

[英]Merging two tables in sqlite from different database

我需要基于同一列在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

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

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. 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM