Re: Best way to "and" from a one-to-many joined table? - Mailing list pgsql-sql

From Bryce Nesbitt
Subject Re: Best way to "and" from a one-to-many joined table?
Date
Msg-id 49401065.80700@obviously.com
Whole thread Raw
In response to Re: Best way to "and" from a one-to-many joined table?  (Milan Oparnica <milan.opa@gmail.com>)
Responses Re: Best way to "and" from a one-to-many joined table?
List pgsql-sql

Milan Oparnica wrote:
> This is how I do it, and it runs fast:
> select p.*
> from test_people p inner join test_attributes a on p.people_id =
> a.people_id
> where a."attribute" = @firstAttr or a."attribute" = @secondAttr
But that does an "or" search, not "and", returning Satan in addition to
Obama:

select * from test_people p inner join test_attributes a on p.people_id
= a.people_id
lyell5-> where a."attribute" = 'Dark Hair' or a."attribute" = 'USA
President';
+-----------+-------------+-----------+---------------+
| people_id | person_name | people_id |   attribute   |
+-----------+-------------+-----------+---------------+
|         8 | Obamba      |         8 | USA President |
|         8 | Obamba      |         8 | Dark Hair     |
|         8 | Obamba      |         8 | Dark Hair     |
|        10 | Satan       |        10 | Dark Hair     |
+-----------+-------------+-----------+---------------+

How can I get an AND search (people with Dark Hair AND who are President)?



pgsql-sql by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Is there a bug in PostgreSQL ?
Next
From: "Oliveiros Cristina"
Date:
Subject: Re: Best way to "and" from a one-to-many joined table?