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

Requêtes MySQL Discussion :

Tous les résultats d'une table avec jointure, même les résultats sans jointure


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 93
    Points : 43
    Points
    43
    Par défaut Tous les résultats d'une table avec jointure, même les résultats sans jointure
    Bonjour,ja'i 2 tableau

    client qui contient
    mat | nom | prenom | age
    123 | aa | bb | 22
    124 | xx | yy | 24

    commande qui contient
    id qt mat
    78 4 123

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select client.mat,nom,prenm,age,qt from client,commande where client.mat=commande.mat and client.mat=123;
    cette requete il m'affiche:
    mat | nom | prenom | age | qt
    123 | aa | bb | 22 | 4

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select client.mat,nom,prenm,age,qt from client,commande where client.mat=commande.mat and client.mat=124;
    cette requete il m'affiche rien parce que il n'y a pas valeur 124 dans table commande

    le question comment faire pour modifier cette requettel, lorsque 124 de le champ mat n'existe pas dans tableau commande il m'affiche selement client.mat,nom,prenm,age.

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Il te faut utiliser une jointure externe.

    Au passage, la syntaxe des jointures, depuis plus de 20 ans, a évolué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT client.mat,nom,prenm,age,qt 
    FROM client
    LEFT [OUTER] JOIN commande ON   client.mat=commande.mat
    WHERE client.mat=124;
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 93
    Points : 43
    Points
    43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT client.mat,nom,prenm,age,qt,produit.ref
    FROM client,produit,commande 
    LEFT JOIN commande ON  client.mat=commande.mat 
    WHERE produit.id_prd=commande.id_prd and client.mat=124;
    pourquoi le commande affiche cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1066 - Not unique table/alias: 'commande'

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Citation Envoyé par Aymenkn Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT client.mat,nom,prenm,age,qt,produit.ref
    FROM client,produit,commande 
    LEFT JOIN commande ON  client.mat=commande.mat 
    WHERE produit.id_prd=commande.id_prd and client.mat=124;
    pourquoi le commande affiche cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1066 - Not unique table/alias: 'commande'
    Parce que tu utilises deux fois la table commande dans tes jointures, avec, en outre, une syntaxe de jointure obsolète
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT client.mat,nom,prenm,age,qt,produit.ref
    FROM client
    LEFT JOIN commande ON  client.mat=commande.mat 
    left join produit ON commande.id_prd=produit.id_prd
    WHERE  client.mat=124;
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

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

Discussions similaires

  1. Réponses: 60
    Dernier message: 22/09/2011, 08h25
  2. Réponses: 1
    Dernier message: 18/09/2006, 10h51
  3. Réponses: 2
    Dernier message: 27/10/2005, 19h26
  4. [arborescence] jointure d'une table avec elle même ?
    Par Celelibi dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/11/2004, 18h48
  5. Afficher tous les champs d'une table avec dbexpress et MySQL
    Par LHT dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/06/2004, 17h11

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