Ошибки при соединении двух таблиц с использованием sqlalchemy - PullRequest
0 голосов
/ 17 февраля 2020

Когда я попытался объединить две таблицы, я получил следующую ошибку:

sqlalchemy.ex c .ObjectNotExecutableError: Не исполняемый объект:
sqlalchemy. sql .selectable. Присоединяйтесь на 0x7f31a35b02e8; Объедините объект на
chanel (139851192912136) и устройстве (139851192912864)

Мой код:

import sqlalchemy as db
from sqlalchemy import and_,or_,not_,inspect,text,inspection
engine = db.create_engine("mssql+pymssql://sa:elnetsrv@192.108.55.95/ELNetDB")
Data1 = db.Table("chanel", metadata, autoload=True, autoload_with=engine)
Data2 = db.Table("Device",metadata,autoload = True,autoload_with = engine)
metadata = db.MetaData()
j = Data1.join(Data2,Data1.columns.No == Data2.columns.ID)
print(engine.execute(j))

1 Ответ

1 голос
/ 17 февраля 2020

Data1.join(Data2,Data1.columns.No == Data2.columns.ID) не является исполняемым, потому что это не объект запроса.

Вместо этого вы можете попробовать это (при условии, что вы хотите выбрать каждый столбец из Data1):

print( engine.execute(select([Data1]).select_from(j) )

см. https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy .schema.Table.join для справки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...