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 :

probleme Update SQL


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 431
    Points : 79
    Points
    79
    Par défaut probleme Update SQL
    Bonjour,

    je travaille sur une base SQL Server 2008.

    j'ai une tableA ayant la structure suivante :

    ID ---- Année---- Valeur ---- ValeurTotat
    1 ---- 2004 ------ 10
    1 ---- 2004 ------ 20
    2 ---- 2005 ------ 30
    2 ---- 2005 ------ 40

    le champ "ValeurTotat" (somme du champ "valeur" par Année et ID) est vide dans un premier temps, pour le renseigner j'effectue un Update sur la tableA.

    Update TableA
    Set ValeurTotat = (Select sum(TA.valeur)
    From TableA TA
    Where TA.ID = TableA.ID
    AND TA.Année = TableA.Année
    AND TA.Année = 2004)

    ce qui va donner :
    ID ---- Année---- Valeur ---- ValeurTotat
    1 ---- 2004 ------ 10 ------ 30
    1 ---- 2004 ------ 20 ------ 30
    2 ---- 2005 ------ 30
    2 ---- 2005 ------ 40

    pour question de volumétrie de la BD, je fais le Update année par année.

    le Update s'effectue correctement pour le 2004; mais quand je vais exécuter le même Update pour 2005, la mise à jour sera bien faite sauf que la ValeurTotal de l'année 2004 que j'ai effectué au début aura Null comme valeur.

    ID ---- Année---- Valeur ---- ValeurTotat
    1 ---- 2004 ------ 10 ------ Null
    1 ---- 2004 ------ 20 ------ Null
    2 ---- 2005 ------ 30 ------ 70
    2 ---- 2005 ------ 40 ------ 70

    j comprend pas le pkoi?

    Merci d'avance

  2. #2
    Membre régulier Avatar de Macfurp
    Inscrit en
    Octobre 2006
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 62
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    je pense que ça vient du fait que tu ne conditionnes pas la portée de la mise à jour sur la Tablea, il faudrait essayer une syntaxe du genre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Update TableA 
    Set ValeurTotat = (Select sum(TA.valeur)
                                From TableA TA
                              Where TA.ID = TableA.ID
                                 And TA.Année = TableA.Année )
    WHERE TableA.Année = 2004

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 431
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Macfurp Voir le message
    Bonjour,

    je pense que ça vient du fait que tu ne conditionnes pas la portée de la mise à jour sur la Tablea, il faudrait essayer une syntaxe du genre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Update TableA 
    Set ValeurTotat = (Select sum(TA.valeur)
                                From TableA TA
                              Where TA.ID = TableA.ID
                                 And TA.Année = TableA.Année )
    WHERE TableA.Année = 2004

    ça marche nickel .... Merci beaucoup Macfurp

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

Discussions similaires

  1. Probleme requete update SQL
    Par linuxien_62 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 22/08/2013, 13h37
  2. Probleme UPDATE SQL
    Par flo291288 dans le forum C++Builder
    Réponses: 9
    Dernier message: 12/06/2008, 11h42
  3. [JDBC]Probleme curseur SQL
    Par Welldone dans le forum JDBC
    Réponses: 13
    Dernier message: 11/07/2005, 16h57
  4. probleme requete sql
    Par Shosho dans le forum Langage SQL
    Réponses: 12
    Dernier message: 03/05/2005, 09h25
  5. Probleme UPDATE resultat trop long
    Par Tonio_1394 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/10/2004, 11h50

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