【问题标题】:Sqlalchemy with cx_Oracle query only returns one result带有 cx_Oracle 查询的 Sqlalchemy 只返回一个结果
【发布时间】:2020-07-09 18:28:32
【问题描述】:

我正在尝试使用 sqlalchemy 查询 Oracle 数据库表

session.query(PAY).filter_by(REGION_CODE=record['REGION_CODE'],
                             AOID=record['AOID'],
                             COMPANY_CODE=record['COMPANY_CODE']).all()

它返回 1 个值,但是如果执行原始 sql

select * from schema.table_name where REGION_CODE = '{record['REGION_CODE']}' 
and AOID = '{record['AOID']}' and COMPANY_CODE = '{record['COMPANY_CODE']}

数据库有 2 条记录我得到两个结果。结果具有相同的值,但有 2 条不同的记录。

有人知道为什么查询只返回单个值吗?

【问题讨论】:

    标签: python oracle sqlalchemy cx-oracle


    【解决方案1】:

    SQLAlchemy 可能会在查询前添加一个“distinct”子句,以消除重复行。在运行这两个示例之前,您可以通过将环境变量 DPI_DEBUG_LEVEL 设置为值 16 来确定。这将显示正在执行的 SQL 语句,您可以证实我的怀疑!

    【讨论】:

    • 它不是,如果我添加 echo = True,我会看到它的好 sql。唯一的其他问题是该表中没有主键
    猜你喜欢
    • 2014-01-05
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多