简体   繁体   English

使用 sqlalchemy 连接两个表时出错

[英]Errors while joining two tables using sqlalchemy

When I tried to join two tables I got the following error:当我尝试连接两个表时,出现以下错误:

sqlalchemy.exc.ObjectNotExecutableError: Not an executable object: sqlalchemy.exc.ObjectNotExecutableError:不是可执行对象:
sqlalchemy.sql.selectable.Join at 0x7f31a35b02e8; sqlalchemy.sql.selectable.Join at 0x7f31a35b02e8; Join object on加入对象
chanel(139851192912136) and Device(139851192912864)香奈儿(139851192912136)和设备(139851192912864)

My code is:我的代码是:

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))

Data1.join(Data2,Data1.columns.No == Data2.columns.ID) is not executable because it is not a query object. Data1.join(Data2,Data1.columns.No == Data2.columns.ID)不可执行,因为它不是查询对象。

You can try this instead (assuming you want to select every column from Data1):你可以试试这个(假设你想从 Data1 中选择每一列):

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

see https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.Table.join for reference.请参阅https://docs.sqlalchemy.org/en/13/core/metadata.html#sqlalchemy.schema.Table.join以供参考。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM