Limit de résultat sur une 2ème table

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Limit de résultat sur une 2ème table

par Isuka » 21 août 2006, 18:29

Désolé pour cette réponse tardive, en allumant mon pc la semaine dernière, ya mon CPU qui a grillé (saloperie d'orages !)
Comment est-ce que tu comptes choisir l'image ? de manière aléatoire ?
Peut importe en fait. Soit aléatoirement, soit la première, soit la dernière.
Si c'est le cas, il te faut passer par un jointure droite ou gauche qui va prendre l'intégralité de la table model et lui associer une occurence de la table photo

Donc, si tu as plusieurs photos pour un modele, la jointure ne prendra qu'une seule photo.
En testant ta requête, j'ai autant de modèles qu'il y a d'image associés au modèle :

id : 1
nom : Campbell
prenom : Naomi
miniature : tn_image01.jpg

id : 2
nom : Campbell
prenom : Naomi
miniature : tn_image02.jpg

id : 3
nom : Schiffer
prenom : Claudia
miniature : tn_image08.jpg

J'ai essayé en rajoutant un DISTINCT mais c'est pareil. En plus j'utilise pas souvent les JOIN je capte pas trop son utilisation. Sinon, je ferais à l'ancienne : 2 requêtes :P

par zeus » 13 août 2006, 21:44

Comment est-ce que tu comptes choisir l'image ? de manière aléatoire ?

Si c'est le cas, il te faut passer par un jointure droite ou gauche qui va prendre l'intégralité de la table model et lui associer une occurence de la table photo

Donc, si tu as plusieurs photos pour un modele, la jointure ne prendra qu'une seule photo.

Code : Tout sélectionner

SELECT m.id, m.nom, m.prenom, m.age, m.taille, m.mensurations, p.miniature FROM models AS m LEFT JOIN photos AS p ON p.model_id = m.id

Limit de résultat sur une 2ème table

par Isuka » 13 août 2006, 20:10

Bonjour,

Je sèche un peu sur une requête :
J'ai une table "models" avec des infos sur le modèle (id, nom, prenom, age...).
J'ai une autre table "photos" avec mes infos sur les photos des modèles (id, model_id, format, miniature, photo).

Je souhaiterais pour cette requête récuperer toutes entrées de ma table "models" et en même temps récuperer une seule entrée de la table "photos".

Quelque chose du style :

Code : Tout sélectionner

SELECT m.id, m.nom, m.prenom, m.age, m.taille, m.mensurations, p.miniature FROM models AS m, photos AS p WHERE p.model_id = m.id
Mais je voudrais limiter la sélection des images à une seule, ce qui me sortirais en résultat :

id : 1
nom : Campbell
prenom : Naomi
miniature : tn_image01.jpg

id : 2
nom : Schiffer
prenom : Claudia
miniature : tn_image08.jpg

etc...

Merci d'avance :)