module5 Posté 14 Octobre 2006 Posté 14 Octobre 2006 Bonjour, J'ai un problème avec une requête SQL, en fait je dois faire une requête dans 2 tables différentes pour savoir si un membre possède un photo ou pas. L'idéal ça serait de faire de ces 2 requêtes, une seule requête avec comme résultat 10 utilisateurs qui ont un picture_id grâce à LIMIT. Alors qu'ici je suis obligé de prendre LIMIT 50 pour être sûr qu'il y ai au moins 10 membres avec un picture_id Voici les requêtes: $sql_5814 = sprintf("SELECT id,login,birthday FROM members WHERE banned='%s' AND valid='%s' ORDER BY id DESC LIMIT 50;", "0", "1"); $req_5814 = mysql_query($sql_5814) or die(); while($data_5814 = mysql_fetch_array($req_5814)) { $sql_1549 = sprintf("SELECT picture_id FROM pictures WHERE login_id='%s';", addslashes($data_5814['id'])); $req_1549 = mysql_query($sql_1549) or die(); } Si vous avez une idée je vous en serait reconnaissant car ayant lu la FAQ MySQL sur les requêtes SELECT, je n'ai trouvé aucune solution à mon problème. Module5
Jeromnimo Posté 14 Octobre 2006 Posté 14 Octobre 2006 Bonjour, une jointure devrait résoudre ton problème non ? SI tu fais une jointure avec INNER JOIN, tu récupereras tous les membres, avec un champ NULL pour ceux qui n'ont pas de photo, ou sinon un LEFT OUTER JOIN, tu ne devrais avoir que les membres qui ont une photo... (à vérifier, je suis pas sûr du LEFT OUTER JOIN)
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant