【发布时间】:2020-09-19 23:29:44
【问题描述】:
我有以下 SQL 语句按预期工作,但我想使用 sqlalchemy 的查询 API 做同样的事情,我尝试了以下但它返回空。知道如何通过编写查询 API 操作来获取此 SQL 语句吗?
原始 SQL 语句为:
SELECT COUNT(mid), mname
FROM(
SELECT missions._id AS mid, missions.name AS mname
FROM missions
INNER JOIN mission_ownership
ON missions._id = mission_ownership.mission_id
INNER JOIN mission_agencies
ON mission_agencies._id = mission_ownership.mission_agency_id
WHERE mission_agencies.name = 'Nasa'
)
GROUP BY mid
HAVING COUNT(mid) > 1
我目前使用 ORM 查询 API 的内容:
nasa_and_esa_missions = session.query(func.count(Mission._id), Mission).\
join(mission_ownership). \
join(MissionAgency).\
filter(MissionAgency.name == 'Nasa').\
group_by(Mission._id).\
having(func.count(Mission._id) > 1)
【问题讨论】:
标签: python sql sqlalchemy