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 :

[Debutant] requete UPDATE


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 91
    Points : 53
    Points
    53
    Par défaut [Debutant] requete UPDATE
    Bonjour, je cherche à remplacer la valeur d'un champ de ma table par la valeur d'un autre champ de cette même table...
    Comment faire, je n'arrive pas à faire distinguer l'utilisation de deux fois la même table !!!

    Je m'explique: voila ce que je veux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE maTable tab1
    SET tab1.val1 = (
       SELECT tab2.val1
       FROM maTable tab2
       WHERE tab1.guide = tab2.guide
       )
    WHERE tab1.val1 IS NULL
    Mais bien sur quand j'écris quelque chose comme ça, il me jette dès le UPDATE...

    QQn à t'il une idée ?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    A tout hasard, vérifie si ton "select" à l'intérieur de ton "update" ne renvoie pas plusieurs valeurs. Il est possible qu'il te jette à cause de ça.
    Sinon, ta condition ("where") me semble louche dans le sens ou tu lui demandes de tester si la valeur que tu n'as pas encore entré est = NULL.

    D'après ce que je vois, tu ne veux rentrer dans val1 que des valeurs NULL, dans ce cas essaie plutôt comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    UPDATE maTable tab1 
    SET tab1.val1 = NULL
    WHERE 
    ( 
       SELECT tab2.val1 
       FROM maTable tab2 
       WHERE tab1.guide = tab2.guide 
    )  IS NULL
    Je te garantis pas qua ça fonctionne, je suis pas une lumière en SQL mais ça me semble un peu plus correct au niveau syntaxique.
    Je vois que tu es débutant (je suis pas très fort non plus), alors je te conseille ce cours mis à disposition par developpez.com :

    http://sgbd.developpez.com/cours/sqlserver2000/

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

Discussions similaires

  1. [Debutant] Probleme avec requete UPDATE
    Par xavDIP dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/06/2007, 11h46
  2. [SYBASE] optimisation requete UPDATE
    Par metheorn dans le forum Sybase
    Réponses: 8
    Dernier message: 24/05/2004, 17h01
  3. [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
  4. Requete update
    Par gianfare dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/10/2003, 09h04
  5. [debutante] erreur requete update
    Par LineLe dans le forum ASP
    Réponses: 5
    Dernier message: 12/09/2003, 13h05

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