OK, thank you very much ! Le vendredi 22 juin 2018 20:10:53 UTC+3, Mike Bayer a écrit : > > Just use literal_column for now , that is the clearest statement of > intention , I'll try to find time to look at the code to see if there's > some flag I'm forgetting > > On Fri, Jun 22, 2018, 3:08 AM <yoch....@gmail.com <javascript:>> wrote: > >> Yes, I tried that. It produces the following SQL: >> >> SELECT json_value(user.meta, :json_value_1) AS code >> FROM user >> HAVING json_value(user.meta, :json_value_1) IS NOT NULL >> >> This make sense in general, because in MySQL you cannot refer to an alias >> in the WHERE part. >> But I want to refer directly to the alias, which is possible in HAVING >> clauses (MySQL extension). >> >> >> Le vendredi 22 juin 2018 03:40:23 UTC+3, Mike Bayer a écrit : >>> >>> Did you try using the code object itself? There's some dialect-specific >>> rules for when it rewrites the expression vs. uses the label name in the >>> expression but it may work (am traveling and can't check the code right now) >>> >>> On Thu, Jun 21, 2018, 10:10 AM <yoch....@gmail.com> wrote: >>> >>>> Hi, >>>> >>>> I want to translate this MariaDB query to sqlalchemy : >>>> >>>> SELECT JSON_VALUE(user.meta, '$.code') AS code >>>> FROM user >>>> HAVING code IS NOT NULL; >>>> >>>> (Note: the use of HAVING is because I want to filter on the alias >>>> `code`.) >>>> >>>> I don't find a simple way to use the alias in comparison, currently I >>>> wrote this code : >>>> >>>> code = func.json_value(User.meta, '$.code').label('code') >>>> db.query(code).having(literal_column(code.name)!=None).all() >>>> >>>> Is this correct ? Is there any better way to do that ? >>>> >>>> Thank you >>>> >>>> -- >>>> SQLAlchemy - >>>> The Python SQL Toolkit and Object Relational Mapper >>>> >>>> http://www.sqlalchemy.org/ >>>> >>>> To post example code, please provide an MCVE: Minimal, Complete, and >>>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>>> description. >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "sqlalchemy" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to sqlalchemy+...@googlegroups.com. >>>> To post to this group, send email to sqlal...@googlegroups.com. >>>> Visit this group at https://groups.google.com/group/sqlalchemy. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> SQLAlchemy - >> The Python SQL Toolkit and Object Relational Mapper >> >> http://www.sqlalchemy.org/ >> >> To post example code, please provide an MCVE: Minimal, Complete, and >> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >> description. >> --- >> You received this message because you are subscribed to the Google Groups >> "sqlalchemy" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sqlalchemy+...@googlegroups.com <javascript:>. >> To post to this group, send email to sqlal...@googlegroups.com >> <javascript:>. >> Visit this group at https://groups.google.com/group/sqlalchemy. >> For more options, visit https://groups.google.com/d/optout. >> >
-- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.