2012-03-14 2 views
2

Я пытаюсь JOIN два таблиц доступа MS таким образом, в питоне (pyodbc):, соединяющая MDB столы с pyodbc

query = "SELECT Karta.id FROM Karta JOIN zaznam ON (Karta.id=zaznam.karta)" 
cursor.execute(query) 

Но я получаю сообщение об ошибке:

pyodbc.ProgrammingError 42000 microsoft access driver syntax error in form clause -3506 SqlExecDirectW 

Что я делаю неправильно ?

ответ

1

Вы должны указать тип соединения (INNER, LEFT OUTER, RIGHT OUTER) в пункте FROM. Тип используемого соединения зависит от того, что вы хотите, чтобы результаты содержались, я предполагаю, что вы хотите INNER JOIN. Ссылка для типов соединений, доступных в Access, может быть найдена here.

Пример кода при условии INNER JOIN

query = "SELECT Karta.id FROM Karta INNER JOIN zaznam ON (Karta.id=zaznam.karta)" 
cursor.execute(query) 
+0

спасибо! он работает сейчас :) – peter

+0

@HansUp Спасибо, ответ исправлен – Bryan

Смежные вопросы