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 UPDATE avec JOIN


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 54
    Points : 40
    Points
    40
    Par défaut Requete UPDATE avec JOIN
    Bonjour,

    Je me débat avec une requete UPDATE nécessitant un JOIN sachant que 2 champs ont des noms identiques (nécessite un AS aussi, donc).

    Voici la requete que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE a SET a.access=1
    FROM `content` AS a 
    LEFT JOIN `categories` AS b ON a.catid = b.id
    WHERE a.access='0' AND b.access='1'
    Celle-ci me renvoie un message d'erreur :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM `content` AS a
    LEFT JOIN `categories` AS b ON a.catid = b.id
    WHERE a.acc' at line 2


    Je sèche... Quelqu'un a une idée ??

  2. #2
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut
    Salut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE a SET a.access=1
    FROM `content` AS a 
    LEFT JOIN `categories` AS b ON a.catid = b.id
    WHERE a.access='0' AND b.access='1'
    Remplacé par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE CONTENT tA
    LEFT JOIN CATEGORIES tB ON tA.catid = tB.id
    SET tA.access = 1
    ça ne marche pas mieux??
    define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 54
    Points : 40
    Points
    40
    Par défaut
    Effectivement...

    La requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE content tA
    LEFT JOIN categories tB ON tA.catid = tB.id
    SET tA.access = 1
    WHERE tA.access=0 AND tB.access=1
    marche mieux...

    MERCI !

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

Discussions similaires

  1. REQUETE UPDATE avec INNER JOIN
    Par vero81 dans le forum SQL
    Réponses: 1
    Dernier message: 07/08/2009, 16h45
  2. UPDATE avec JOIN ?
    Par zakuli dans le forum Débuter
    Réponses: 3
    Dernier message: 25/07/2007, 14h53
  3. Requete Update avec sous requete
    Par joziel dans le forum Langage SQL
    Réponses: 7
    Dernier message: 28/08/2006, 15h15
  4. requete update avec une condition
    Par youtou dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/06/2006, 20h55
  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