SQLAlchemy:group_concat(case when...) 可能吗?

SQLAlchemy: group_concat(case when...) possible?

我正在尝试将 MySQL 结合使用 group_concatcase when 的查询转换为 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_concatcase when 结合使用?

请注意 TableA.columnX 是一个 SQLAlchemy Boolean()

我发现了问题,是 case。正确的叫法是:

func.group_concat(case(
                      [ 
                          (TableA.columnX, TableA.id) 
                      ]
                 )
).label('TableA_id_concat'),