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

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 (view raw or flat)
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

pgsql-fr-generale by date

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

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