Skip site navigation (1) Skip section navigation (2)

Re: Recherche dans les tableaux

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Recherche dans les tableaux
Date: 2008-10-22 13:35:39
Message-ID: 48FF2C2B.7000802@lelarge.info (view raw or flat)
Thread:
Lists: pgsql-fr-generale
Samuel ROZE a écrit :
> [...]
> J'ai appris il y a quelques jours la possibilité de faire des tableaux
> directement dans les tables. Je trouve ce principe très intéressant,
> surtout dans le cas de mon utilisation.
> 
> Seulement, pour réellement justifier l'utilisation de cette "nouvelle"
> technique de rangement dans la base de données, je voudrais savoir si je
> peux faire une recherche dans une table en fonction d'une valeur d'un
> tableau. Par exemple, j'ai admettons un champ "champs" (integer[]) dans
> ma table "fermiers". Je veux savoir à qui est le champ n°12... Puis-je
> faire une recherche du type:
> SELECT nom FROM public.fermiers WHERE champs[*] = 12;
> (cette requête ne marche pas :( )

SELECT nom FROM public.fermiers WHERE 12 = ANY (champs);

Voir http://docs.postgresql.fr/8.3/arrays.html pour plus de détails.

> Si ce n'est pas possible, je sais bien que je peux faire une table table
> qui contiendras la "relation" entre la table "champs" et la table
> "fermiers" par exemple.
> 

C'est souvent plus intéressant car indexable. Il y a bien le module
contrib intarray (http://docs.postgresql.fr/8.3/intarray.html) mais bon...


-- 
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com

In response to

pgsql-fr-generale by date

Next:From: Samuel ROZEDate: 2008-10-22 13:36:28
Subject: Re: Recherche dans les tableaux
Previous:From: Ludovic LevesqueDate: 2008-10-22 13:34:54
Subject: Re: Recherche dans les tableaux

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group