我正在尝试将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()
。
答案 0 :(得分:2)
我发现了问题,那是case
。正确的电话是:
func.group_concat(case(
[
(TableA.columnX, TableA.id)
]
)
).label('TableA_id_concat'),