Probleme requête sur deux table.

Résolu
Klementino Messages postés 27 Statut Membre -  
Klementino Messages postés 27 Statut Membre -
Bonjour,

Je débute en php/mysql, j'ai crée mon site web sans problème pour le moment, cependant j'ai un souci concernant une requête vers ma base de données.

En fait, j'ai deux tables, appelons-les UNE et DEUX.
Dans ma table DEUX, j'ai les mêmes noms d'adhérents que dans ma table UNE, mais j'ai un champ qui contient la CATEGORIE d'un adhérent donné.

Dans la table UNE, j'ai un champ contenant les adresses mails de mes adhérents.

Je souhaiterais donc effectuer une requête qui, connaissant la variable $CATEGORIE pour ma table DEUX, me permette d'afficher toutes les adresses mails correspondant de ma table UNE.

En français, cela donnerait :

"Sélectionner TOUT de la table UN lorsque le NOM = ( la sélection de tous les NOM de la table DEUX appartenant a la catégorie $CATEGORIE) "

J'ai testé ceci mais sans succès :

"select * from UNE where NOM=(select NOM from DEUX where CATEGORIE = '$CATEGORIE')";

Voilà si quelqu'un pourrait me donner cette requête je lui en serait très reconnaissant.

Cordialement.

3 réponses

  1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    Bonjour,

    si je me souviens bien de mes cours de SQL, remplacer le "=" par IN et normalement tu devrais avoir tes bons résultats. La requête serait alors :

    select * from UNE where NOM IN(select NOM from DEUX where CATEGORIE = '$CATEGORIE')";
    

    Cordialement.
    1
    1. Klementino Messages postés 27 Statut Membre
       
      Merci beaucoup, cette requête marche en effet parfaitement bien !

      Encore merci !
      0
  2. fiu
     
    ok mais la requête est pas bonne : si DEUX contient plusieurs NOM pour une CATEGORIE, la sous-requête va renvoyer plusieurs NOM.
    ... et NOM de UNE ne sera jamais égal à plusieurs NOM
    0
  3. Klementino Messages postés 27 Statut Membre
     
    Aie je viens de me rendre compte de ce soucis.

    J'ai en effet ce message d'erreur quand j'execute :

    Warning: mysql_query() [function.mysql-query]: Unable to save result set in C:\wamp2\www\US Portet\MailCategorie.php on line 132
    Erreur : Subquery returns more than 1 row

    Quelqu'un saurait-il me corriger la requête ?

    Je ne sais pas trop ce qui va pas là ...

    Merci beaucoup d'avance.
    0