Sélectionner un seul enregistrement parmi les doublons

Répondre
Sarti
le 01/12/2010 à 04:44
Sarti
Bonjour à tous,

J’ai 2 tables :

* Table No 1 : Maison
Ses champs : id_maison, couleur, …

* Table No 2 : Image
Ses champs : id_image, id_maison (FOREIGN KEY), …

Sachant qu’une maison peut avoir plusieurs images, comment faire un SELECT simultané dans les 2 tables afin d’afficher une seule image (soit la première seulement), pour chaque résultat comportant les doublons ?

Merci.
moogli
le 01/12/2010 à 09:32
moogli
salut,

c'est la jointure ou la limite que tu ne sais pas faire ?

select couleur, image blabla from Maison join Image using(id_maison)
limit 1;

pour un seul tuple
au pire deux requêtes avec la limite ^^

@+
Il en faut peu pour être heureux !!!!!
Sarti
le 02/12/2010 à 00:26
Sarti
Merci Moogli mais je pense que c’est moins simple que ça.
J’ai un id_maison qui se retrouve plus d’une fois dans la table Image avec des id_image différents.
Comment regrouper les mêmes id_maison et en choisir un seul parmi eux dans une seule requête ?
moogli
le 02/12/2010 à 00:30
moogli
ben c'est ce que j'ai fait au pire tu peut faire un order by rand() et un limit 1 pour en prendre une au pif ;)

après vu le peu de critère je peut pas t'aider plus.

@+
Il en faut peu pour être heureux !!!!!
Sarti
le 02/12/2010 à 02:12
Sarti
Je crois pouvoir me débrouiller avec un simple GROUP BY (image.id_maison) qui semble faire l’affaire pour le moment !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours