Jointure entre deux tables
apis87
-
aetrea -
aetrea -
Bonjour,
J'ai créé deux tables (mailclient & mailparrain) avec des champs similaires ex:
Le résultat est vide !!! Ou est le problème sur ma jointure ?
Merci d'avance
J'ai créé deux tables (mailclient & mailparrain) avec des champs similaires ex:
$query = "DROP TABLE IF EXISTS mailclient"; $resul = mysql_query($query) or die ("Requete '$query' invalide"); $query = "CREATE TABLE mailclient ( num_adh int(5) unsigned NOT NULL auto_increment, login varchar(20) NOT NULL default '*', password varchar(20) NOT NULL default '*', prenom1 varchar(25) NOT NULL default '*', nom1 varchar(20) NOT NULL default '*', tel varchar(15) NOT NULL default '0', mail varchar(45) NOT NULL default '*', PRIMARY KEY (num_adh) ) TYPE=MyISAM"; $result = mysql_query($query) or die ("Requete '$query' invalide"); $query = "DROP TABLE IF EXISTS mailparain"; $resul = mysql_query($query) or die ("Requete '$query' invalide"); $query = "CREATE TABLE mailparain ( num_adh varchar(20) NOT NULL default '*', login varchar(20) NOT NULL default '*', password varchar(20) NOT NULL default '*', prenom1 varchar(25) NOT NULL default '*', nom1 varchar(20) NOT NULL default '*', tel varchar(15) NOT NULL default '0', mail varchar(45) NOT NULL default '*', PRIMARY KEY (num_adh) ) TYPE=MyISAM"; $result = mysql_query($query) or die ("Requete '$query' invalide"); $query = "INSERT INTO mailclient SELECT num_adh, login, password, prenom1, nom1, tel, mail FROM new_client"; $result = mysql_query($query) or die("Requête '$query' invalide : ".mysql_error()); $query = "INSERT INTO mailparain SELECT num_adh, login, password, prenom1, nom1, tel, mail FROM adherent"; $result = mysql_query($query) or die("Requête '$query' invalide : ".mysql_error()); $query = "SELECT mailclient.num_adh, mailclient.login, mailclient.password, mailclient.nom1, mailclient.prenom1, mailclient.tel, mailparrain.num_adh, mailparrain.login, mailparrain.password, mailparrain.nom1, mailparrain.prenom1, mailparrain.telFROM mailclient, mailparain WHERE mailclient.num_adh = mailparain.num_adh"; $result = mysql_query($query) or die ("Requete '$query' invalide"); if (mysql_num_rows($result) == 0) { print"<h3>Aucune donnée dans la base</h3>:<br>"; }
Le résultat est vide !!! Ou est le problème sur ma jointure ?
Merci d'avance
A voir également:
- Jointure entre deux tables
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
- Tables des matières word - Guide
- Itinéraire google map entre deux adresses - Guide
1 réponse
Bonjour,
pourquoi deux tables qui ont les mêmes champs de données?
Ajoutez un champ type_client(parrainé, client) et vous n'aurez pas à faire de jointures, ou même un champ parrain (NUULL autorisé)ou vous mettez l'identifiant du parrain, s'il reste vide le client n'a pas été parrainé.
Quelle est la différence entre un parrain et un client? Un parrain n'est il pas client aussi? Dans ce cas il faut les regrouper(client et parrain ont tout en commun).
Vos requêtes INSERT sont fausses(pourquoi un select? SELECT sert à obtenir un résultat). Avec ce script vous recréez toutes vos tables à chaque fois(vide).
Un peu normal de n'avoir aucun résultat avec des tables vides(vu que la requête d'insertion est fausse et ne contient pas de valeur).
pourquoi deux tables qui ont les mêmes champs de données?
Ajoutez un champ type_client(parrainé, client) et vous n'aurez pas à faire de jointures, ou même un champ parrain (NUULL autorisé)ou vous mettez l'identifiant du parrain, s'il reste vide le client n'a pas été parrainé.
Quelle est la différence entre un parrain et un client? Un parrain n'est il pas client aussi? Dans ce cas il faut les regrouper(client et parrain ont tout en commun).
Vos requêtes INSERT sont fausses(pourquoi un select? SELECT sert à obtenir un résultat). Avec ce script vous recréez toutes vos tables à chaque fois(vide).
Un peu normal de n'avoir aucun résultat avec des tables vides(vu que la requête d'insertion est fausse et ne contient pas de valeur).