mysql - 将 SQL 查询转换为 SQLAlchemy
问题描述
我想将我的查询转换为 SQLalchemy:
SELECT sel.ID,sel.URL,GROUP_CONCAT(sel.label_values)
FROM
(
SELECT table1.id as ID, table1.url as URL,CONCAT_WS(':',label
,value) as label_values
FROM table1 LEFT OUTER JOIN table2 ON table1.id =
table2.media_id
WHERE table1.type = "image" AND table1.id >= 0
ORDER BY table1.id
) AS sel
GROUP BY sel.ID
我试过这样的事情:
label_and_values_column = func.CONCAT_WS(' : ',table2.c.label,
table2.c.value).label(name='label_and_values_column')
outer_join_select = select([table1, label_and_values_column])\
.order_by(table1.c.id)\
.select_from(table1.outerjoin(table2))\
.label(name='outer_join_select')
all_ = func.group_concat(' : ',outer_join_select.id)\
.label(name='all_label_and_values_per_media_id')
最后一行给了我
Caught exception: Neither 'Label' object nor 'Comparator' object has an attribute 'id'.
我正在使用带有事务的数据库engine.begin()
连接db_conn_transaction
:
meta = sqlalchemy.MetaData(db_conn_transaction)
我想构建select_statment
然后使用select_statment.execute().fetchall()
.subquery()
因为没有所以不能用session.query()...
欢迎在 SQLalchemy 中转换我的查询的任何帮助!
解决方案
推荐阅读
- java - Apache Calcite SqlParser 使用某些 Postgres 关键字失败
- javascript - 将django html模板提取为pdf
- c - 转换有符号的 int 与 short 时符号扩展的不一致
- angular - RxWeb 反应式表单验证器:不验证表单是否为空
- javascript - 来自节点获取的会话 cookie 无效?
- c# - 如何在 .NET Core 5.0 WebAPI 解决方案中启用完整的 OData 功能?
- php - [Symfony][Doctrine] 批处理 - 具有 ManyToOne 关系的批量插入 = 错误:通过关系找到了一个新实体
- python - alembic 升级引发“尝试在没有已知父包的情况下进行相对导入”,并将相对导入到修订文件中
- python - 如何避免每次打开页面时网站内容都发生变化?
- javascript - 在 Typescript 中如何在冒号后放置变量?