2015-02-11 14 views
0

У меня есть два отдельных файла базы данных, каждый из которых содержит таблицы с соответствующими первичными ключами, но разные данные. Я хочу вытащить строки из одной таблицы на основе значений в другой. В CLI для sqlite3, я хотел бы сделать это как:присоединение к базам данных с sqlite3/pysqlite

.open data.db 
.open details.db 
attach 'data.db' as data; 
attach 'details.db' as details; 

select details.A.colA from data.A join details.A using ('key') where data.A.colB = 0 and data.A.colC = 1; 

Как я могу воссоздать такую ​​Межбазовые объединение, используя pysqlite?

ответ

3

Вы можете прикрепить дополнительные базы данных с ATTACH DATABASE:

conn = sqlite3.connect('data.db') 
conn.execute('ATTACH DATABASE details.db AS details') 

Для целей запроса, первая база данных известна как main:

cursor = conn.cursor() 
cursor.execute(''' 
    select details.A.colA 
    from main.A 
    join details.A using ('key') 
    where main.A.colB = 0 and main.A.colC = 1 
    ''')