python - sqlalchemy.text 对象的别名

标签 python sql sqlalchemy

我试图允许用户在 UI 中输入查询,然后将其添加到我的 sqlalchemy 的 FROM 子句中。 在 docs 中看到查询对象上的 from_self 函数之后,我尝试过:

Query.from_statement(text("select * from test_table")).from_self()

和:

alias(text("select * from test_table"), name="some_name")

和:

text("select * from test_table").label(name="some_name")

这些都不起作用。 我试图得到这样的查询:

(SELECT * FROM test_table) AS some_name

最佳答案

经过一番折腾,找到了这样的方法:

alias(TextAsFrom(text("SELECT * FROM test_table"), columns), name='some_name')

这是可能的,因为可以在文档深处找到 TextAsFrom here 。此方法的一个缺点是,您必须提供列对象才能使其工作(您可以在我的代码中看到 columns 变量。)我通过仅查询表中的列,然后为每个列创建一个列对象来解决此问题 table 。

干杯。

关于python - sqlalchemy.text 对象的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53030737/

相关文章:

python - Python SQLAlchemy中的依赖问题?

python - 用随机数替换 NaN

python - Tkinter 中的顶级小部件

python - 为什么 Python3 在我的任务上比 Python2 慢很多?

Python 和 Pyramid - 使用 configparser 在 python 中读取 ini 文件

python - 是否有 SqlAlchemy 数据库不可知的 FROM_UNIXTIME() 函数?

python - Python 中的三元运算符中的多个变量赋值可能吗?

MYSQL查询查找薪水第n高的所有员工

php - 使用 SQL 计算列中的单词

sql - 使用RSQLite直接使用SQL操作r中的数据框