IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 MySQL Discussion :

requête sur 2 tables/niveau débutant


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 41
    Points : 38
    Points
    38
    Par défaut requête sur 2 tables/niveau débutant
    Bonjour,
    Je cherche à afficher des données venant de deux tables ayant les mêmes noms de champs mais je ne sais pas comment les différencier.
    La première table s'appelle recette, l'autre depenses, et elles ont pour champ: ID,montant,date,description,projet,commentaires.
    Comment faire pour les distinguer l'une de l'autre?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	// crée la requête SQL
    	$sql = 'SELECT ID,montant,date,description,projet,commentaires FROM recettes, depenses ORDER BY date';
    	// envoie la requête
    	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    	//  boucle qui va faire un tour pour chaque enregistrement
     
    	while($data = mysql_fetch_assoc($req))
    	{        etc..........

    me renvoie l'erreur:

    Erreur SQL !
    SELECT ID,montant,date,description,projet,commentaires FROM recettes,depenses ORDER BY date
    Champ: 'ID' dans field list est ambigu
    Que faut-il faire?

    merci pour vos réponses,

    Michel;

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Il faut qualifier les champs...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select A.id, B.toto 
    from recette A, depense B
    where...
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Merci pour la réonse,
    j'ai essayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	// on crée la requête SQL
    	$sql = 'SELECT A.ID,A.montant,A.date,A.description,A.projet,A.commentaires,B.ID,B.montant,B.date,B.description,B.projet,B.commentaires,B.date FROM recettes A,depenses B ';
    	// on envoie la requête
    	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    Mais ça n'affiche que les champs de la table depense(B)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($data = mysql_fetch_assoc($req))
    	{echo '<tr>';
    	echo '<td> '.$data['ID'].'</td> ';    etc.......
    et si je rajoute ORDER BY date, j'ai de nouveau un message d'erreur.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Tu te retrouves avec deux fois les mêmes colonnes. Il semble que PHP ne retienne que la seconde.
    Il faut en plus mettre un alias sur les colonnes. Voilà un exemple qui montre pourquoi certains logiciels de modélisation de bases de données refusent que deux colonnes du même schéma de données portent le même nom.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT A.ID AS IDA, ..., B.ID AS IDB, ...
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 41
    Points : 38
    Points
    38
    Par défaut
    Merci,

    ça fonctionne impeccablement.

    bonne journée,

    M.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/10/2009, 12h42
  2. Problème de requêtes sur deux tables
    Par Pymm dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2005, 09h06
  3. Requête sur plusieurs tables
    Par drinkmilk dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/07/2005, 12h25
  4. Requête sur 2 tables ?
    Par kibodio dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/03/2005, 15h57
  5. Requête sur 2 tables et surtout novice...
    Par kibodio dans le forum Langage SQL
    Réponses: 13
    Dernier message: 03/03/2005, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo