将sql查询转换为sqlalchemy

s3fp2yjn  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(353)

我想将我的查询转换为sqlalchemy:

SELECT sel.ID,sel.URL,GROUP_CONCAT(sel.label_values) 
     FROM
        (
         SELECT table1.id as ID, table1.url as URL,CONCAT_WS(':',label 
          ,value) as label_values
         FROM table1 LEFT OUTER JOIN table2 ON table1.id = 
              table2.media_id
         WHERE table1.type = "image" AND table1.id >= 0
         ORDER BY table1.id
         ) AS sel
     GROUP BY sel.ID

我试过这样的方法:

label_and_values_column = func.CONCAT_WS(' : ',table2.c.label, 
                 table2.c.value).label(name='label_and_values_column')

outer_join_select = select([table1, label_and_values_column])\
                                       .order_by(table1.c.id)\
                       .select_from(table1.outerjoin(table2))\
                             .label(name='outer_join_select')

all_ = func.group_concat(' : ',outer_join_select.id)\
         .label(name='all_label_and_values_per_media_id')

最后一行给了我

Caught exception: Neither 'Label' object nor 'Comparator' object has an attribute 'id'.

我正在使用db连接处理 engine.begin() 作为 db_conn_transaction :

meta = sqlalchemy.MetaData(db_conn_transaction)

我想建造 select_statment 然后使用 select_statment.execute().fetchall() 无法使用 .subquery() 因为我没有 session.query()... 任何帮助转换我的查询在sqlalchemy是欢迎的!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题