【发布时间】:2021-10-27 08:35:18
【问题描述】:
我想知道是否有人可以帮助我将此 SQL 查询转换为 SQL alchemy ORM。我在将 And 语句与 Or 语句括起来时遇到问题。这是我正在尝试创建的查询的更简单版本:
SELECT * FROM [dbo].[UpcomingThings] WHERE ([Id] = 'ES1234' AND [Date] = '2021-08-18' AND [Period] = 27) OR ([Id] = 'ES0197' AND [Date] = '2021-08-18' AND [Period] = 29)
请注意,在这种情况下,Id 不是唯一的,因此我必须依赖多个其他列才能使其唯一。我曾尝试在各种组合中使用 .filter 和 .filter(_or()) 但我似乎无法得到它,因此它是 WHERE(括号和条件)或(括号和条件)
编辑: 如果 sql alchemy 像这样简单,这就是我要做的假设 _or 会给我一个 OR:
session.query(models.UpcomingThings).filter(UpcomingThings.Id == 'ES1234').filter(UpcomingThings.Period == 27).filter(UpcomingThings.SettlementDate == 2021-08-18).filter(or_(UpcomingThings.Id=='ES0197')).filter(UpcomingThings.Date == 2021-08-18)).filter(UpcomingThings.Period == 29))
难道我也没有办法吗
session.query(models.UpcomingThings).filter(or_((AND STATEMENT), (AND STATEMENT))
我什至尝试在 or_ 中简单地做一个 .filter 但显然这是一个语法错误!
请有人帮助将其转换为 SQLalchemy ORM!谢谢。
【问题讨论】:
-
到目前为止您尝试了哪些方法,哪些方法不起作用?请添加一些最小的内容并指出失败的地方!
标签: sql sqlalchemy orm flask-sqlalchemy