【问题标题】:SQLAlchemy: group_concat(case when...) possible?SQLAlchemy:group_concat(case when ...)可能吗?
【发布时间】: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()。

【问题讨论】:

    标签: mysql sqlalchemy case group-concat


    【解决方案1】:

    我发现了问题,是case。正确的调用是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2013-10-06
      • 2020-01-10
      • 1970-01-01
      相关资源
      最近更新 更多