Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2007, 13h16   #1
Futur Membre du Club
 
Inscription : juillet 2005
Messages : 63
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 63
Points : 18
Points : 18
Envoyer un message via MSN à htristra
Par défaut problème de requête avec utilisation de min/group by

Bonjour,
Je ne parviens pas à trouver la bonne syntaxe pour une requête devant me donner la valeur de la colonne A de la ligne dont la valeur B est la plus petite, le tout group by C.
Les 2 tables sont les suivantes :


Code :
1
2
3
 
SELECT a.idadr,a.titre,a.nomf,a.prenom FROM abadr a WHERE idadr=1574;
1574;"MONSIEUR ET MADAME";"AMC";"Jean Marius"
La deuxieme table est la suivante :
Code :
1
2
3
4
5
 
SELECT idadr,codsrc,datesrc FROM absrcadr s WHERE idadr=1574;
idadr  codsrc      datesrc
1574;"038B22"; "200232    "
1574;"038B";    "200231    "

Le but de la requête est d'extraire pour chaque idadr, une seule ligne avec le CODSRC correspondant à la DATESRC la plus petite. Soit la ligne suivante ;
Code :
1
2
 
1574;"MONSIEUR ET MADAME";"AMC";"Jean Marius";1574;"038B";    "200231    "
J'ai essayé la requête suivante (et plein d'autres) mais elle me retourne toujours 2 lignes, comme si le having n'était pas utilisé.

Code :
1
2
3
4
5
6
 
SELECT a.idadr,a.titre,a.nomf,a.prenom,s.codsrc, datesrc
 FROM abadr a, absrcadr s
 WHERE s.idadr=a.idadr AND a.idadr=1574 
 GROUP BY 1,2,3,4,5,6
 HAVING datesrc=min(datesrc);
Je sais que j'ai pris de mauvaise habitude avec mysql, mais pour ce cas, je ne vois pas mon erreur. Je peux créer une table temporaire pour trouver le codesrc qui m'interesse mais je ne trouve pas cela très propre.

Si quelqu'un a une bonne idée....
htristra est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h31.


 
 
 
 
Partenaires

Hébergement Web