I tried to write the following code assuming a User class with
first_name, last_name, and email:

search_term = "Andrew"

by_email = session.query(User.email.label("text"),
User.email.label("email")).filter(User.email.like("%%%s%%" %
search_term)
by_first_name = session.query(User.first_name.label("text"),
User.email.label("email")).filter(User.first_name.like("%%%s%%" %
search_term)
matches = by_email.union_all(by_first_name).all()

with the hope that this would return rows like so:

text                           email
-----                           -------
[email protected]    [email protected]
Andrew                     [email protected]

However, I get:

text                           email
-----                           -------
[email protected]    [email protected]
Andrew                     Andrew

When I look at the SQL, the wrapper select for the UNION is wrong.
Any idea how to get the behavior I want?  Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to