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 :

Double-Select dans Update


Sujet :

Langage SQL

  1. #1
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut Double-Select dans Update
    Bonjour a tous !! Et joyeux noël !

    Bon, sinon je galère sur une requête. J'ai réussis a la construire grâce a mes recherches sur ce forum mais j'ai une erreur contrairement, a ce que j'ai lu.

    le but de la requête est de mettre a jour une table avec une autre. Je pourrai le faire avec un programme mais comme il y a des millions de lignes, j'essaie de passer par le serveur.

    Voici le type de requête (simplifié) que je fais:

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE
         (SELECT a.NUM_PLI, a.IDT, b.NUM_PLIS, b.IDT FROM zplis.plis_15 AS a, zplis.plis2_15 AS b WHERE a.NUM_PLI = b.NUM_PLI)
     
         SET a.IDT=b.IDT;
    Quand je fais ca, j'ai l'erreur: "Every derived table must have its own alias"

    En faisant des recherche j'ai vu que certaines personnes mettaient un alias sur le select, j'ai donc tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE
         (SELECT a.NUM_PLI, a.IDT, b.NUM_PLIS, b.IDT FROM zplis.plis_15 AS a, zplis.plis2_15 AS b WHERE a.NUM_PLI = b.NUM_PLI) AS M
     
         SET a.IDT=b.IDT;
    Et la j'ai l'erreur: "The Target Table M of the UPDATE is not updatable"

    Quelqu'un aurai t il une idée luminescente?
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Quel est votre SGBD ?

  3. #3
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    ah oui, excusez moi,

    MySQL 5.0.52

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Apres quelques recherches j'ai trouver quelque chose qui marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE
     
       zplis_wt.suivis_plis_15 AS a straight_join zplis_wt.suivis_plis_15_temp AS b
     on a.NUM_PLI = b.NUM_PLI
     
      SET a.IDT=b.IDT;

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

Discussions similaires

  1. SELECT dans UPDATE
    Par audrey1912 dans le forum Développement
    Réponses: 6
    Dernier message: 15/06/2011, 11h56
  2. Select Dans Update
    Par mactwist69 dans le forum Requêtes
    Réponses: 1
    Dernier message: 18/12/2009, 15h39
  3. [SQL] Erreur dans UPDATE SELECT simple
    Par daner06 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/12/2006, 16h58
  4. [MySQL] un select dans un update
    Par Yoshio dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/09/2006, 20h07
  5. Inclure un SELECT dans une requète Update
    Par carolinebelle dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/07/2005, 15h19

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