2017-08-28 69 views
0

正在尋求幫助。 我使用web2py,我的應用程序需要多個數據庫。 例如兩個數據庫:來自不同數據庫的web2py連接表

db1 = DAL('sqlite://first.sqlite') 
db2 = DAL('sqlite://second.sqlite') 

與表:

db1.define_table('table1', 
       Field('id',requires=IS_NOT_EMPTY()), 
       Field('pid',type='integer'), 
       Field('title',type='string'), 
       ) 

db2.define_table('table2', 
       Field('id',requires=IS_NOT_EMPTY()), 
       Field('pid',type='integer'), 
       Field('data',type='string'), 
       ) 

如何執行sqlite的加入,是這樣的:

sql ="SELECT db1.id, db1.title,db2.data FROM db1.table1 INNER JOIN db2.table2 ON db2.table2.pid == db1.table1.pid" 

db1.executesql (sql)不無法工作

回答

0

無法與來自不同DAL實例的表進行連接。 另外,每個DAL實例只能連接到一個數據庫。

使用兩個DAL實例,您可以執行兩個單獨的選擇並以編程方式將它們組合起來,或&與量R

>>> print rows1 
person.name 
Max 
Tim 
>>> print rows2 
person.name 
John 
Tim 

>>> rows3 = rows1 & rows2 
>>> print rows3 
name 
Tim 

但是,這將花費你更多的處理時間。

相關問題