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

Développement SQL Server Discussion :

Update d'une ligne sur 1 même table


Sujet :

Développement 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 Update d'une ligne sur 1 même table
    Bonjour à tous,
    J'ai une nouvelle requête d'update à faire et qui me pose des problèmes. Je ne sais pas pourquoi je n'arrive pas à intégérer la logique et la grammaire SQL SERVER sur les UPDATE.
    Besoin: Dans une même table regrouper des lignes, faire la somme sur une des colonnes, et pour ces mêmes lignes mettre le résultat sur une autre colonne pour toutes ces lignes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Requete:
    UPDATE T1 SET [calcSomme0]=(SELECT SUM(calcDurationTask) FROM [CalculationView] AS T2 WHERE [TaskNumber]=0 GROUP BY [NotificationNumber]) FROM [CalculationView] AS T1, [CalculationView] AS T2 WHERE T1.[NotificationNumber] = T2.[NotificationNumber]
    Erreur:
    Msg 512, Level 16, State 1, Line 2
    Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

    Merci de votre aide.

  2. #2
    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
    J'ai finalement trouvé la solution je pense.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    UPDATE [CalculationView]
    SET [calcSomme0] = [T2].[calcDurationTask_]
    FROM [CalculationView] AS tblTemp
    INNER JOIN
        (
            SELECT [NotificationNumber], SUM(calcDurationTask) calcDurationTask_
            FROM [CalculationView]
    		WHERE [TaskNumber]=0 
            GROUP BY [NotificationNumber]
        ) T2
        ON tblTemp.[NotificationNumber]=T2.[NotificationNumber]

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/12/2018, 15h42
  2. update avec sous requête sur la même table
    Par beyo dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/11/2012, 14h21
  3. Requête update avec un select sur la même table
    Par sheira dans le forum Requêtes
    Réponses: 6
    Dernier message: 15/09/2010, 16h09
  4. UPDATE selon un critère sur la même table
    Par CinePhil dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/03/2008, 10h50
  5. Update avec un select sur la même table
    Par Xunil dans le forum Administration
    Réponses: 5
    Dernier message: 09/04/2007, 16h40

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