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 <javascript:>> 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 <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.