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

Langage SQL Discussion :

Update a partir d'un select


Sujet :

Langage SQL

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Update a partir d'un select
    Bonjour

    Est il possible en SQL de faire un update a partir d'un select avec Join
    Un truc du genre ci-dessous

    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE address
    set address.isEtiquette = 'X'
    FROM tours
    Inner Join address ON tours.addrID = address.addrID 
    WHERE tours.chauffeurID =  '20'
      and tours.dag=3

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Bonjour,

    avez-vous essayé la requête avant de poser la question? Avez-vous une erreur?

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut


    Bien sur j'ai essayé la requete !

    Ca donne une syntaxe error !

    Je suis en MySql

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Sous MySQL, un UPDATE avec JOIN n'a pas l'air de pouvoir marcher.
    J'essaierais avec EXISTS plutôt, mais j'ai pas testé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    UPDATE address 
    SET address.isEtiquette = 'X'
    FROM tours
    WHERE EXISTS (Select * From tours 
                             Where tours.addrID = address.addrID 
                                And tours.chauffeurID =  '20' And tours.dag=3 )

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Mercure

    J'ai supprimé le FROM Tours
    Comme ca marche mais c'est tres lent !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE address 
    SET address.isEtiquette = 'X'
    WHERE EXISTS (SELECT * FROM tours 
                             WHERE tours.addrID = address.addrID 
                                AND tours.chauffeurID =  '20' AND tours.dag=3 )
    Je suis pourtant certain d'avoir lu qu'un update avec join marchait en MySql, impossible de trouver la syntaxe

  6. #6
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Peut-être de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE address
    INNER JOIN tours ON tours.addrID = address.addrID
    SET address.isEtiquette = 'X'
    WHERE tours.chauffeurID =  '20'
      AND tours.dag=3
    ?

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut


    Absolument !

    J'avais déja trouvé la solution sur un ancien sujet ici sur le forum (+/- 2006)
    Et c'est exactement la bonne syntaxe

    Malheureusement je ne retrouve plus ce post

  8. #8
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    ?

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

Discussions similaires

  1. Update d'une table a partir d'un select recursif
    Par olibara dans le forum Langage SQL
    Réponses: 1
    Dernier message: 17/05/2008, 09h44
  2. Update a partir d'une selection
    Par choubak dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 29/05/2007, 17h28
  3. [oracle 9i]update à partir d'une selection complexe
    Par Requin15 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/06/2006, 10h18
  4. [MySQL] update a partir du resultat d'un select
    Par brice01 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 05/04/2006, 22h44
  5. UPDATE globale à partir d'un SELECT
    Par lilianen dans le forum Oracle
    Réponses: 2
    Dernier message: 28/11/2005, 15h55

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