SQLite – 你如何连接来自不同数据库的表?

我有一个使用SQLite数据库的应用程序,一切正常。 我现在正在添加需要第二个SQLite数据库的新function,但是我很难搞清楚如何连接不同数据库中的表。

如果有人能帮我解决这个问题,我真的很感激!

编辑:看到这个问题的例子,你可以适应你的语言,当你连接数据库接受的答案中提到的。

您可以使用ATTACH关键字将另一个数据库文件附加到当前连接。

attach 'database1.db' as db1; attach 'database2.db' as db2; 

你可以看到所有连接的数据库与关键字

 .databases 

那么你应该可以做到以下几点。

 select * from db1.SomeTable a inner join db2.SomeTable b on b.SomeColumn = a.SomeColumn; 

请注意,“数据库名称maintemp是为主数据库和数据库保留的,用于保存临时表和其他临时数据对象。这两个数据库名称都存在于每个数据库连接,不应该用于附件”。

为了我

 attach database database1.db as db1; 

没有工作,我必须改变它

 attach 'database1.db' as db1; 

那么你可以看到所有连接的数据库与关键字

 .databases 

那么,我没有太多的SQLite经验,你必须在一个查询中访问这两个数据库。

你可以有这样的东西:

 select name from DB1.table1 as a join DB2.table2 as b where a.age = b.age; 

在像SQLServer这样的数据库中,你可以以这种分层的方式访问其他数据库,这也应该适用于SQLite。

我认为你可以用多个数据库启动一个sqlite的实例!