У меня есть следующий код SQL:
SELECT t1.*
FROM table1 t1
INNER JOIN table2 t2
ON t1.id = t2.sample_id
GROUP BY t1.id
HAVING NOW() > (SELECT end FROM table2 WHERE start =
max(t2.start)) + (t1.time::text||' minute')::interval
Мне нужно переписать этот код в sqlalchemy следующим образом:
Table1.query
.join(Table2, Table1.id == Table2.sample_id)
.group_by(Table1.id)
.having(
datetime.datetime.now() > ((Table2.query.filter_by(
start=
(database.session.query(func.max(Table2.start)))
)).first().end +
datetime.timedelta(minutes=Table1.query.filter_by(
id=Table1.id
).first().frequency))).all()
Этот запрос SQL возвращает одну строку данных из базы данных,но мой запрос в sqlalchemy возвращает пустой dict.Может ли кто-нибудь помочь мне с восстановлением моего SQL-запроса?