Strange. Does that same query work if you enter it directly in your DB's 
interface? I'm guessing from the link you provided that you're using MySQL; 
I've only done it with MS SQL and SQLite but I'd think that the triple 
quoting technique should work with other databases too.

On Wednesday, March 11, 2015 at 11:09:58 AM UTC-5, naveed wrote:
>
>   Thank you, I tried this:
>  
>
>     db.executesql("""set @num := 0, @type := '';    select type, variety, 
> price
>     from (
>        select type, variety, price,
>           @num := if(@type = type, @num + 1, 1) as row_number,
>           @type := type as dummy
>       from fruits
>       order by type, price
>     ) as x where x.row_number <= 2;""")
>
> But it returns a null.
>  
>  
>   
> *Sent:* Tuesday, March 10, 2015 9:42 PM
> *To:* web...@googlegroups.com <javascript:> 
> *Subject:* [web2py] Re: Running multiple lines of SQL in executesql
>  
>  Actually just surround your big long multi line SQL statement with 
> triple quotes and it will work fine. I do that all the time. No need for 
> the \ at each line break then either. You can declare and set your 
> @variables all within one executesql query too.
>
> On Tuesday, March 10, 2015 at 2:36:28 PM UTC-5, naveed wrote: 
>>
>>  I need to execute multiple lines of SQL in web2py, something like this:
>>
>>     db.executesql("set @num := 0, @type := '';")\
>>     rows = db.executesql("select type, variety, price\
>>     from (\
>>        select type, variety, price,\
>>           @num := if(@type = type, @num + 1, 1) as row_number,\
>>           @type := type as dummy\
>>       from fruits\
>>       order by type, price\
>>     ) as x where x.row_number <= 2;")
>>
>> But, when I run it I don't get expected results in web2py (the variables 
>> don't get initialized), even though it works from the mysql console. What 
>> am I doing wrong?
>>
>> They don't work, even if I put the variable initialization in the same 
>> call. This piece of SQL is from here: 
>> http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/
>>
> -- 
> Resources:
> - http://web2py.com
> - http://web2py.com/book (Documentation)
> - http://github.com/web2py/web2py (Source code)
> - https://code.google.com/p/web2py/issues/list (Report Issues)
> --- 
> You received this message because you are subscribed to a topic in the 
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/web2py/SQEWZzMQ4Gw/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> web2py+un...@googlegroups.com <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to