python - SQLAlchemy 中的依赖 CTE? (里面的例子)

标签 python postgresql sqlalchemy flask-sqlalchemy

这是 PostgreSQL 中的一个非常简单的示例:

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

如何让 SQLAlchemy 生成它(最好使用声明式)?

最佳答案

这个有效:

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

关于python - SQLAlchemy 中的依赖 CTE? (里面的例子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33800669/

相关文章:

python:如何在 plt.show() 之后保持脚本运行

postgresql - Postgres 设置本地开始/提交

sql - 如何在删除命令上添加条件?

ruby-on-rails - 从 Rails 日期时间列中查询一天中的时间(带时区)

python - 在 sqlalchemy 中查询 Enum 列导致 LookupError

python - 在 scipy/numpy 中求解具有已知 y 的多项式的 x 值

python - Scrapy 返回的结果比预期多

python - 使用 sqlalchemy 从类返回 NOT NULL 列

python - 如何使用 SQLAlchemy 核心选择除 postgresql 中 1 个特定列之外的所有表列?

python - 如何在不将值保存到磁盘的情况下将张量恢复到过去的值?