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 :

Requete LEFT JOIN incompatibilité version serveur MySQL


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Requete LEFT JOIN incompatibilité version serveur MySQL
    Bonjour,

    Je travaille en local avec une version MySQL 5.0.24. La version sur le serveur MySQL web est en 4.1.16.
    Et je rencontre un problème de comptabilité avec des requetes du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT (mes données à récuperer)
    FROM (table)
    LEFT JOIN (autre table pour la jointure) ON (condition)
    LEFT JOIN (autre table pour la jointure) ON (condition)
    WHERE (condition)
    AND (condition)
    Elles fonctionnent sous la version 4.1.16 mais pas avec la 5.0.24 ce qui est étrange alors que la version est beaucoup plus recente.

    Merci à l'avance de votre aide

  2. #2
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Un peu délicat de répondre sans plus de spécificité mais il y a eu un changement de priorité entre ',' et 'JOIN' entre les versions 4 et 5. Donc les requêtes du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...table1, table2 JOIN table3, table4 ON ...
    risquent fort de changer de comportement et de nécessiter des paranthèses.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci de m'avoir mis sur la voie.

    Pour que ça fonctionne correctement en MySQL 5, il faut mettre des parentheses entre les tables definis dans le FROM.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT (mes données à récuperer)
    FROM ( table1, table2 )
    LEFT JOIN table3 ON (condition)
    WHERE (condition)
    AND (condition)

  4. #4
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    ouaip, mais nécessaire uniquement si le 'ON' utilise table1 je pense.

    un petit tag ?

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

Discussions similaires

  1. Problème sur un left join en version 4 mais pas en 5 !
    Par Christophe Charron dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/05/2007, 20h45
  2. [Mysql 3.23] Avis sur une requete LEFT JOIN
    Par griese dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/02/2007, 09h36
  3. Relation gauche (left join) prob sur serveur
    Par Rocknacro dans le forum Requêtes
    Réponses: 1
    Dernier message: 13/02/2007, 11h57
  4. Requete Left join
    Par nicodour dans le forum Requêtes
    Réponses: 5
    Dernier message: 29/12/2005, 16h23
  5. [version] Requete Update avec différentes versions de mySQL
    Par regbegpower dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2004, 17h19

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