SQLAlchemy:group_concat(大概是......)可能吗?

时间:2016-09-05 08:41:00

标签: mysql sqlalchemy case group-concat

我正在尝试将group_concatcase 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_concatcase when结合使用?

请注意,TableA.columnX是SQLAlchemy Boolean()

1 个答案:

答案 0 :(得分:2)

我发现了问题,那是case。正确的电话是:

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