> > db(db.city.name.contains('rio') & db.city.state_id == db.state.id).select( > db.city.name,db.city.id,db.state.name)
db(db.city.name.contains('rio') & db.city.state_id == db.state.id) should be: db(db.city.name.contains('rio') & (db.city.state_id == db.state.id)) In python, the & takes precedence over the == (see http://docs.python.org/2/reference/expressions.html#operator-precedence), so you need to put the second part of the query in parentheses. > Looking inside, I saw that web2py is making a WHERE clause instead of a > JOIN. > > It's normal? > Yes, if you do an implicit join via the query, web2py generates a WHERE clause, not an explicit JOIN statement. Anthony -- 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/groups/opt_out.