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 :

[UPDATE] [jointure] problème de syntaxe ou de version ?


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 14
    Points
    14
    Par défaut [UPDATE] [jointure] problème de syntaxe ou de version ?
    Salut,

    alors :

    2 tables : herbi_programme2 et herbi_mat_active2

    dans herbi_mat_active2, 2 champs intéressant : herbicide et unite
    dans herbi_programme2, 2 champs aussi intéressant : herbicide et dose

    Je veut mettre à jour les champs doses (les multiplier par 1000) mais seulement pour les herbicides où l'unité est en %.

    voilà ce que j'ai tenté :

    SELECT DISTINCT herbi_programme2.herbicide
    FROM herbi_programme2
    INNER JOIN herbi_mat_active2
    ON herbi_mat_active2.unite = '%'
    AND herbi_programme2.herbicide = herbi_mat_active2.herbicide

    => ça me donne bien les herbicides où il faut modifier la dose

    je fais donc la requète suivante mais ça ne marche pas ...

    requête SQL :

    UPDATE herbi_programme2 SET dose = dose*1000
    WHERE herbi_programme2.herbicide
    IN (
    SELECT DISTINCT herbi_programme2.herbicide
    FROM herbi_programme2
    INNER JOIN herbi_mat_active2
    ON herbi_mat_active2.unite = '%'
    AND herbi_programme2.herbicide = herbi_mat_active2.herbicide
    )

    MySQL a répondu:
    #1064 - You have an error in your SQL syntax near 'SELECT DISTINCT herbi_programme2.herbicide
    FROM herbi_programme2
    INNER JOIN herbi_mat' at line 1

    (j'utilise phpMyAdmin)

    C'est pas une histoire d'update multiple sur plusieurs tables impossible avant la version 4 (j'ai la version 3.23 de MySQL ) ?

    Merci !

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    En effet, les sous-requêtes ne sont acceptées qu'à partir de mySQL 4.1.
    Il faut donc faire deux requêtes séparées : un SELECT puis un UPDATE sur les valeurs récupérées.
    Pensez au bouton

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Ok, je l'ai fais en 2 fois.

    Merci bien !

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

Discussions similaires

  1. problème de syntaxe de jointure
    Par dogiro dans le forum Langage SQL
    Réponses: 8
    Dernier message: 21/08/2008, 22h20
  2. Problème de syntaxe sur UPDATE
    Par pgu64 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/04/2008, 19h26
  3. Problème de syntaxe INSERT/UPDATE
    Par Alexwei dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/02/2007, 11h31
  4. Problème de Syntaxe SQL (Update Table)
    Par Thibaut_Dupont dans le forum Access
    Réponses: 15
    Dernier message: 17/07/2006, 16h32
  5. [ORACLE] problème de syntaxe UPDATE
    Par magic charly dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2006, 12h26

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