Обсуждение: Querying a list field against another list

Поиск
Список
Период
Сортировка

Querying a list field against another list

От
Aarni Ruuhimäki
Дата:
Hi people,

This is not quite a pg question, but any suggestions are most welcome.

How can one query a list of values against a db field that contains a list of
values ?


Table foo

foo_id | foo_name | da_list
--------------------------------------
1 | x | 1,2,3,4,5
2 | y | 1,4,5
3 | z | 4,5,11
4 | xyz | 14,15,33

As a result from another query I have parameter bar = '1,4' and want to find
all rows from foo where da_list contains '1' or '4'. So loop over bar to loop
over da_list in foo ?

My humble thanks,

Aarni

--------------
This is a bugfree broadcast to you
from **Kmail**
on **Fedora Core 2** linux system
--------------

Re: Querying a list field against another list

От
Bruno Wolff III
Дата:
On Fri, Nov 26, 2004 at 15:52:31 +0200,
  Aarni Ruuhimäki <aarni@kymi.com> wrote:
> Hi people,
>
> This is not quite a pg question, but any suggestions are most welcome.
>
> How can one query a list of values against a db field that contains a list of
> values ?

You really want to redesign your database so that the foo_id da_list
relationship only has one foo_id da_list item per row.

>
>
> Table foo
>
> foo_id | foo_name | da_list
> --------------------------------------
> 1 | x | 1,2,3,4,5
> 2 | y | 1,4,5
> 3 | z | 4,5,11
> 4 | xyz | 14,15,33
>
> As a result from another query I have parameter bar = '1,4' and want to find
> all rows from foo where da_list contains '1' or '4'. So loop over bar to loop
> over da_list in foo ?