PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

select distinct et table pivot

Technique - général | select distinct et table pivot

Par nads le 23/03/2007 - 17:53

bonjour

j'ai deux tables :

TABLE TEXTE :

id_txt nom_texte
--- ---------
1
2
3
4
5

TABLE TEXTE_THEMES (ma table pivot)

id_txt id_them
------ --------
1 20
2 28
2 47
2 25
5 28
3 29
3 90

Quel requete dois je utiliser afin d'afficher tous les textes qui contiennent les 3 id_theme ( 28,47,25)

ce qui doit me donner le résultat ci-desous:

id_txt
------
2

Merci pour votre réponse

A.H

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour, Peut-être ne c

Jean-Paul Argudo/ = 24 Mars, 2007 - 12:20

Bonjour,

Peut-être ne connaissiez-vous pas HAVING?:

test=# select id_txt from texte_themes group by id_txt having count(*)=3;
 id_txt
--------
      2
(1 ligne)

Cordialement,
--
Jean-Paul ARGUDO
http://dalibo.com | http://dalibo.org


Bonjour, cette requete n'a

nads/ = 24 Mars, 2007 - 17:15

Bonjour,

cette requete n'affiche que les textes qui ont 3 themes ce n'est pas ce que je veux.

moi je veux afficher un texte qui a exactement comme id_theme 28, 47 et 25.

est t il possible de faire une requete du genre :
select id_txt from texte_themes group by id_txt having (id_them=28 and
id_them=47 and id_them=25) ??

merci pour votre réponse.

A.H


Bonjour Je pense que vous

Christophe Chauvet/ = 25 Mars, 2007 - 11:26

Bonjour

Je pense que vous voulez simplement faire un :

SELECT id_txt FROM texte_themes WHERE id_them IN (28, 47, 25) GROUP BY id_txt

Cordialement.

Christophe Chauvet
KrysKool.org


Bonjour, cette requete af

nads/ = 25 Mars, 2007 - 17:23

Bonjour,

cette requete affiche les textes qui ont soit 28, soit 47 ou soit 25 comme theme_id, bref elle utilise le connecteur logique 'OR'.

IN (28,47,25) = (28 OR 47 OR 25)

moi je ne veux afficher que les textes qui ont les 3 theme_id
28 AND 47 AND 25.

Merci pour votre réponse.

A.H


© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.