SQLAlchemy中的依赖CTE?(内部示例)

4 投票
1 回答
2637 浏览
提问于 2025-05-10 15:10

这里有一个非常简单的PostgreSQL示例:

WITH a AS (
    SELECT 1 AS x
),   b AS ( 
    SELECT x AS y
    FROM a
)
SELECT y
FROM b;

我该如何让SQLAlchemy生成这个(最好是用声明式方式)?

相关文章:

  • 暂无相关问题
暂无标签

1 个回答

8

这个可以用:

from sqlalchemy import literal

a = session.query(literal(1).label('x')).cte('a')
b = session.query(a.c.x.label('y')).cte('b')
res = session.query(b).all()

assert res[0].y == 1

相关文档:http://docs.sqlalchemy.org/en/rel_1_0/core/selectable.html#sqlalchemy.sql.expression.CompoundSelect.cte

撰写回答