SQLAlchemy:group_concat(case when ...)可能吗?
Posted
技术标签:
【中文标题】SQLAlchemy:group_concat(case when ...)可能吗?【英文标题】:SQLAlchemy: group_concat(case when...) possible? 【发布时间】:2017-01-12 14:21:09 【问题描述】:我正在尝试将结合使用 group_concat
和 case when
的 mysql 查询转换为 SQLAlchemy:
MySQL: group_concat(case when TableA.columnX=1 then TableA.id end)
我已经尝试过类似的查询
func.group_concat(case([tableA.columnX], value=tableA.id)).label('tableA_id_concat'),
但是这不起作用(NotImplementedError)。有没有办法在 SQLAlchemy 中将group_concat
与case when
结合使用?
请注意,TableA.columnX
是 SQLAlchemy Boolean()
。
【问题讨论】:
【参考方案1】:我发现了问题,是case
。正确的调用是:
func.group_concat(case(
[
(TableA.columnX, TableA.id)
]
)
).label('TableA_id_concat'),
【讨论】:
以上是关于SQLAlchemy:group_concat(case when ...)可能吗?的主要内容,如果未能解决你的问题,请参考以下文章
SQLAlchemy“AttributeError:'str'对象没有属性'c'”
sql for xml path 和group_concat