Recupérer 2 tables et copier vers 1 troisième

Résolu
apis87 -  
leen.net Messages postés 247 Statut Membre -
Bonjour,

Je n'arrive pas à trouver la syntaxe pour copier 2 tables (adherent et clients) vers une troisième (test)

ex :
$query = "INSERT INTO test SELECT adherent.login, adherent.password, clients.login, clients.password FROM adherent, clients WHERE adherent.num_adh = clients.num_adh";

Il y a un bug !!!

Merci pour l'info,

Bien cordialement,

2 réponses

  1. leen.net Messages postés 247 Statut Membre 13
     
    INSERT INTO test (adLogin, adPass, clLogin, clPass) VALUES (SELECT adherent.login, adherent.password, clients.login, clients.password FROM adherent, clients WHERE adherent.num_adh = clients.num_adh);
    0
    1. apis87
       
      Je suppose que ad.login = adherent.login et cl.login=clients.login, etc.
      Ta version copier coller dans phpMyadmin, j'ai toujours un problème.

      Merci pour ton intervention
      Bien cordialement,
      0
    2. apis87
       
      Bonjour,
      Toujours pas de "résultat". Pour ma part, ce que j'ai developpé ci-dessous me permet de visualiser les champs des deux tables sauf que je n'arrive pas à les insérrer dans une troisième table ?
      **************************************************************************************
      $query = "DROP TABLE IF EXISTS test";

      $resul = mysql_query($query)
      or die ("Requete '$query' invalide");

      //Créer la table test
      $query = "CREATE TABLE test (
      num_adh int(5) unsigned NOT NULL auto_increment,
      login varchar(20) NOT NULL default '*',
      password varchar(20) NOT NULL default '*',
      PRIMARY KEY (num_adh)
      ) TYPE=MyISAM";

      $result = mysql_query($query)
      or die ("Requete '$query' invalide");

      //cette fonction permet de récupérer les champs : num_adh, login et password dans les tables : adherent et clients
      $query = "SELECT adherent.num_adh, adherent.login, adherent.password, clients.num_adh, clients.login, clients.password
      FROM adherent, clients
      WHERE adherent.num_adh = clients.num_adh";

      $result = mysql_query($query)
      or die ("Requete '$query' invalide");
      0
    3. apis87
       
      Re,
      Je crois que j'ai trouvé la solution !
      Je crée 2 tables : test & test1
      ********************************************************
      //insertion des champs de la table clients dans test
      $query = "INSERT INTO test SELECT num_adh, login, password FROM clients";
      $result = mysql_query($query)
      or die("Requête '$query' invalide : ".mysql_error());

      //insertion des champs de la table adherent dans test1
      $query = "INSERT INTO test1 SELECT num_adh, login, password FROM adherent";
      $result = mysql_query($query)
      or die("Requête '$query' invalide : ".mysql_error());

      // On cherche les tables test & test1 et l'on recupère les champs login & password
      $query = "SELECT test.num_adh, test.login, test.password, test1.num_adh, test1.login, test1.password
      FROM test, test1
      WHERE test.login='$login' AND test.password='$password'
      OR test1.login='$login' AND test1.password='$password'";
      $result = mysql_query($query)
      or die ("Requete '$query' invalide");

      // S'il existe
      if (mysql_num_rows($result) != 0) {

      // On met le cookie
      setCookie("cookieLogin", $login);
      ***************************************************************
      Ouf...
      @+
      0
    4. leen.net Messages postés 247 Statut Membre 13
       
      Donc c'est résolu ??
      0
  2. leen.net Messages postés 247 Statut Membre 13
     
    essaye une deuxième fois avec cela :
    Select adherent.login, adherent.password, clients.login, clients.password INTO adLogin1, adPass1, clLogin1, clPass1 FROM adherent, clients WHERE adherent.num_adh = clients.num_adh;
    INSERT INTO test (adLogin, adPass, clLogin, clPass) VALUES (adLogin1, adPass1, clLogin1, clPass1);
    0