Une recherche sur plusieurs lignes ?

From: Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Une recherche sur plusieurs lignes ?
Date: 2009-08-17 13:21:38
Message-ID: 1250515298.32738.16.camel@samuel-laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour à tous,

Je m'adresse à vous pour avoir un peu d'aide car en ce moment même, je
suis confronté à une situation assez compliquée. (A mon sens, peut-être
qu'elle est très simple en réalité :) ).

J'ai trois tables comme ceci:

+--------------+ +----------------+ +--------------+
| context_list | | context_values | | context_keys |
+--------------+ +----------------+ +--------------+
| SERIAL "id" | <-> | int "context" | |-> | SERIAL "id" |
| text "desc" | | int "key" | <-| | text "name" |
+--------------+ | text "value" | +--------------+
+----------------+

Elles décrivent des élements appelés "context".
- Dans "context_list", il y a "id", l'ID du context et sa description
- Dans "context_keys", il y a des clés de valeurs. Cette table permet de
mettre un ID dans "context_values", ce qui permet d'économiser de la
place et éviter les redondances de noms de clés.
- Dans "context_values", il y a les associations context/clés/valeurs.

Il peut il avoir plusieurs couples clé/valeur par context.

Maintenant, j'ai une description du context sous forme de tableau
associatif tel que:
Array(
[field1] => 'value1',
[field2] => 'value2'
)

J'ai donc dans ma base de données une ligne dans "context_list", deux
dans "context_keys" (field1, field2 pour le champ "name") et deux dans
"context_values".

Je souhaites, en une requête, obtenir l'ID du context qui as ces couples
clé/valeur. Est-ce possible ?
En une requête car je souhaiterais utiliser cette requête comme une
sous-requête.

Merci d'avance.
Cordialement, Samuel ROZE.

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Dimitri Fontaine 2009-08-17 13:25:11 Re: Une recherche sur plusieurs lignes ?
Previous Message Guillaume Lelarge 2009-08-12 16:58:01 Re: Deux tablespaces ?