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 the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.