From: | David Johnston <polobo(at)yahoo(dot)com> |
---|---|
To: | Daron Ryan <daron(dot)ryan(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Search for lists |
Date: | 2011-06-18 22:39:48 |
Message-ID: | 2CE9F932-85E0-44BC-82D2-A01F98DDB575@yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
An alternative approach would be to select using a IN condition on the where clause and group by column 1 and column 2. Then, using this as a sub-select group by the resultant column 1 and a count on column two. The matching identifiers are those with a count equal to the number of entries in the original IN condition.
Basically count how many of values each distinct key in column 1 matches and keep those keys where the count and the number of values match.
David J.
On Jun 18, 2011, at 17:51, Daron Ryan <daron(dot)ryan(at)gmail(dot)com> wrote:
> Hello,
>
> I need to search a table to find sets of rows that have a column matching itself for the whole set and another column matching row for row with a list I am going to supply. The result I should receive should be value of the column that matches itself.
>
> For example given the following data in my table:
>
> 3; 1
> 3; 2
> 4; 8
> 4; 9
> 4; 10
>
> I might need to search for 1,2. This should produce the result 3. Or if I were to search for 8, 9, 10 the result should be 4. Searching for 8, 9 should produce an empty result as should 8, 9, 10, 11.
>
> Can anyone recommend a strategy?
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Thompson | 2011-06-19 00:12:37 | fill factor guestimate |
Previous Message | David Johnston | 2011-06-18 22:14:40 | Re: Search for lists |