From: | Bryce Nesbitt <bryce2(at)obviously(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Cc: | milan(dot)opa(at)gmail(dot)com |
Subject: | Re: Best way to "and" from a one-to-many joined table? |
Date: | 2008-12-10 18:54:29 |
Message-ID: | 49401065.80700@obviously.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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)?
From | Date | Subject | |
---|---|---|---|
Next Message | Oliveiros Cristina | 2008-12-10 19:21:02 | Re: Best way to "and" from a one-to-many joined table? |
Previous Message | Richard Huxton | 2008-12-10 17:45:06 | Re: Is there a bug in PostgreSQL ? |