Re: Recherche dans les tableaux

From: Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Recherche dans les tableaux
Date: 2008-10-22 13:36:28
Message-ID: 1224682588.7295.12.camel@samuel-laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Le mercredi 22 octobre 2008 à 15:29 +0200, Samuel ROZE a écrit :
> Bonjour à tous,
>
> 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 :( )
> 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.

Autre petite question, peut-on faire la même chose, mais à l'inverse :

SELECT * FROM t1
LEFT JOIN t2 ON t1.monchamp = t2.montableau[*]
WHERE t2.id = 12;
[ou:]
SELECT * FROM t1, t2
WHERE t1.monchamp = t2.montableau[*]
AND t2.id = 12;

C'est-à-dire on sélectionne les enregistrements de t1 où le champ
"monchamp" est une valeur du tableau de "t2" pour l'ID (unique) 12.

>
>
> Merci !
> Cordialement, Samuel ROZE.
>
>

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message SC 2008-10-26 14:39:53 ECPG et UTF8
Previous Message Guillaume Lelarge 2008-10-22 13:35:39 Re: Recherche dans les tableaux