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 SUR SELECT


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 394
    Par défaut UPDATE SUR SELECT
    Bonjour,
    J'ai un problème sur une requête, je veux faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    UPDATE MaTable SET MaColonne =
     
     ( SELECT COUNT(*) FROM  MaTable )
     
    WHERE ....
     
    où MaTable.ID = MaTableDuSelect.ID
    Je ne sais pas si c'est très clair !

    Merci d'avance pourvotre aide.

    @+

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Si vous êtes sous SQL Server 2005 ou 2008, vous pouvez écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    WITH
    	CTE AS
    	(
    		SELECT ID,
    				COUNT(*) AS nb
    		FROM dbo.MaTableDuSelect
    		GROUP BY ID
    	)
    UPDATE dbo.MaTable
    SET MaColonne = CTE.nb
    FROM dbo.MaTable AS T
    JOIN CTE
    	ON T.ID = CTE.ID
    Si vous êtes sous SQL Server 2000, vous pouvez aussi écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UPDATE dbo.MaTable
    SET MaColonne = DRV.nb
    FROM dbo.MaTable AS T
    JOIN (
    		SELECT ID,
    				COUNT(*) AS nb
    		FROM dbo.MaTableDuSelect
    		GROUP BY ID
    	) AS DRV
    	ON T.ID = DRV.ID
    @++

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 394
    Par défaut
    Alors là , je n'ai qu'un mot à dire:

    BRAVO !!!!!!!!!!
    Merci beaucoup elsuket. çà marche nickel.

    Bonne soirée.

    @+


    ps: j'ai pris le code pour SQL 2000

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

Discussions similaires

  1. Update sur Select imbriqué partageant une clef commune
    Par srappaille dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/10/2010, 20h15
  2. Problème de jointure sur Select et Update
    Par Marshall_Mathers dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/06/2007, 15h30
  3. Réponses: 1
    Dernier message: 26/01/2007, 20h29
  4. critere de selection pr faire un UPDATE sur 1 table
    Par maxizoo dans le forum Langage SQL
    Réponses: 6
    Dernier message: 05/01/2006, 15h35
  5. UPDATE SUR UN SELECT
    Par Alocer dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/10/2005, 20h09

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