Re: Une recherche sur plusieurs lignes ?

From: Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>
To: François Figarola <francois(dot)figarola(at)i-consult(dot)fr>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Une recherche sur plusieurs lignes ?
Date: 2009-08-17 14:33:41
Message-ID: 1250519621.32738.30.camel@samuel-laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

En fait, ce n'est pas ça le problème. Le problème, c'est que j'ai
plusieurs couples clé/valeur.

> SELECT v.context as idcontext, c.desc as context
> FROM context_values as v
> INNER JOIN context_list as c ON v.context=c.id
> INNER JOIN context_keys as k ON v.key=k.id
> WHERE k.name='clé????' AND v.value='valeur?????'

Cette requête fait une recherche pour uniquement un seul couple clé/valeur...

Samuel.

Le lundi 17 août 2009 à 16:25 +0200, François Figarola a écrit :
[...]
> Bonjour,
>
> Je ne sais pas si j'ai réellement cerné ton problème en ce chaud après-midi
> d'août, mais pourquoi ne pas créer une vue effectuant les jointures de ces
> 3 tables :
>
> CREATE VIEW contextes AS
> SELECT v.context as idcontext, c.desc as context, k.name as key, v.value
> FROM context_values as v
> INNER JOIN context_list as c ON v.context=c.id
> INNER JOIN context_keys as k ON v.key=k.id
>
> Vue que tu pourras interroger simplement :
>
> SELECT idcontext, contexte FROM contextes
> WHERE key='clé???' AND valeur='????'
>
> ou pour en revenir à ta demande, simplement utiliser la
> requête de création de la vue comme sous-requête :
>
> SELECT v.context as idcontext, c.desc as context
> FROM context_values as v
> INNER JOIN context_list as c ON v.context=c.id
> INNER JOIN context_keys as k ON v.key=k.id
> WHERE k.name='clé????' AND v.value='valeur?????'
>
> Par contre, en fonction du nombre d'enregistrements à prévoir,
> mieux vaudrait indexer les champs 'text' sur lesquels s'effectueront
> les tris.
>
> Cordialement.
>

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Daniel Verite 2009-08-17 14:51:21 Re: Une recherche sur plusieurs lignes ?
Previous Message François Figarola 2009-08-17 14:25:09 Re: Une recherche sur plusieurs lignes ?