2013-09-10 3 views
1

Мне нужно объединить две таблицы в sqlite на основе общего столбца. Проблема заключается в том, что обе таблицы относятся к разным базам данных. Итак, что было бы эффективным способом объединить таблицы здесь?Слияние двух таблиц в 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 
+0

размера таблицы? – MrSimpleMind

+0

, каждая таблица имеет такое же количество строк, что и около 200. – Harsh

+0

, когда вы говорите о слиянии, вы хотите объединить запрос на основе соединения или хотите иметь одну новую таблицу на основе обеих таблиц? Просьба представить определения таблиц, образец данных и ожидаемый результат/результат. – MrSimpleMind

ответ

3

Прежде всего, вы должны прикрепить базы данных к вашему текущему соединению.

SQLite дает вам это с помощью ATTACH.

Оператор ATTACH DATABASE добавляет другой файл базы данных в текущее соединение с базой данных. ATTACH LINK

Выполнить это:

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. 
Смежные вопросы