Recupérer 2 tables et copier vers 1 troisième [Résolu/Fermé]

- - Dernière réponse : leen.net
Messages postés
213
Date d'inscription
lundi 31 janvier 2011
Statut
Membre
Dernière intervention
14 mai 2014
- 13 janv. 2012 à 20:00
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,

Afficher la suite 

2 réponses

Messages postés
213
Date d'inscription
lundi 31 janvier 2011
Statut
Membre
Dernière intervention
14 mai 2014
13
0
Merci
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);
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,
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");
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...
@+
leen.net
Messages postés
213
Date d'inscription
lundi 31 janvier 2011
Statut
Membre
Dernière intervention
14 mai 2014
13 -
Donc c'est résolu ??
Messages postés
213
Date d'inscription
lundi 31 janvier 2011
Statut
Membre
Dernière intervention
14 mai 2014
13
0
Merci
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);