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

MS SQL Server Discussion :

Aujo-jointure [SQLServer] sur un UPDATE


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 51
    Par défaut Aujo-jointure [SQLServer] sur un UPDATE
    Bonjour,

    Je cherche à faire une auto-jointure sur une table SQLServer. Tous les exemples que j'ai trouvé sur le net fonctionne très bien sous ACCESS mais impossible à faire marcher sous SQLSERVER.

    Ma requête fonctionne bien avec un SELECT mais je n'arrive pas à faire l'équivalent en UPDATE. Qui peut m'aider? Merci (1 jour de recherche, et là je sature, j'arrête les noeuds au cerveau).

    Fonctionne:
    SELECT N1.TypeTravaux, N1.Sujet, N1.Categorie, N1.ClasseRisque, N2.TypeTravaux AS TypeTravaux, N2.Numero AS Numero, N2.Categorie AS Categorie, N2.ClasseRisque AS ClasseRisque
    FROM Travaux N1 INNER JOIN
    Travaux N2 ON N1.Sujet = N2.Numero
    WHERE (N1.Sujet IS NOT NULL) AND (N1.TypeTravaux = 'AM')

    Ne fonctionne pas :
    UPDATE Travaux INNER JOIN
    Travaux AS Travaux_1 ON [Travaux].[Sujet] = Travaux_1.Numero
    SET Travaux.Categorie = table1_1.Categorie, Travaux.ClasseRisque = table1_1.ClasseRisque
    WHERE (Travaux.Sujet IS NOT NULL) AND (Travaux.TypeTravaux = 'AM'))

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut
    Salut,

    La syntaxe pour un update est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE mon_champs FROM ma_table INNER JOIN ma_table2 ON ..... set mon_champs=.... where .....
    Mais toi dans ton code après le UPDATE tu mets un nom de table et nom pas le nom de ton champs.

    Ensuite dans ta clause SET tu mets Travaux.categorie=table1_1.Categorie Or il n'y aucune table qui s'appelle table1_1 dans ton FROM.

    Voilà déjà une petite analyse de ton problème maintenant il faudrait un spécialiste pour dire si on dans un UPDATE mettre à jour plusieurs champs(ce que je ne sais pas)

    a+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 51
    Par défaut
    Merci pour ton support mais cela ne m'aide pas.
    Pour ton information dans un update le from est inutile (car explicit UPDATE [nom de la table]). De plus je dois faire un SET lignex=ligney de la même table.
    Je suis donc toujours en attente de trouver un expert.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2004
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 213
    Par défaut
    ah ok merci désolé si je n'ai pas pu t'aider. J'aurais au moins essayer!!!

  5. #5
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    UPDATE Travaux
      SET Categorie    = Travaux_1.Categorie, 
          ClasseRisque = Travaux_1.ClasseRisque
      FROM Travaux  
      INNER JOIN Travaux Travaux_1 
        ON ( Travaux_1.Numero = [Travaux].[Sujet] )
      WHERE (Travaux.Sujet IS NOT NULL) AND (Travaux.TypeTravaux = 'AM')

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 51
    Par défaut inoussa tu es le roiaaaaaa
    Merci, merci, beaucoup.
    Je viens de tester, c'est parfait.
    Les voies de la grammaire sont subtiles, j'ai encore des progrès à faire.
    Dommage que l'on peut pas envoyer des cafés par le forums :-)

  7. #7
    Membre éprouvé
    Inscrit en
    Mars 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 126
    Par défaut
    Merci pour le café( c'est l'intention qui compte ) .
    N'oublie pas de marquer "Résolu".
    excellente journée.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/06/2009, 15h49
  2. [Oracle 9i] Triggers sur les updates de tables
    Par zestrellita dans le forum Oracle
    Réponses: 12
    Dernier message: 07/12/2005, 11h32
  3. svp un peu d'aide sur mon update, resumé simple en dessous
    Par hansaplast dans le forum Langage SQL
    Réponses: 11
    Dernier message: 14/11/2005, 10h14
  4. Jointure externe sur 2 tables
    Par Danae dans le forum Langage SQL
    Réponses: 11
    Dernier message: 19/07/2005, 15h37
  5. [ORACLE 9i] - Jointure ouverte sur decode
    Par sygale dans le forum Oracle
    Réponses: 3
    Dernier message: 21/04/2005, 16h07

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