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 tout une table


Sujet :

Développement SQL Server

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut UPDATE sur tout une table
    Bonsoir à tous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE T_CALIBRE (
    	CAL_CODE char(8) NOT NULL,
    	CAL_POIDS_MINI int NULL,
    	CAL_POIDS_MAXI int NULL,
    	CAL_POIDS_MOYEN int NULL)
     
    INSERT INTO T_CALIBRE VALUES ('0', 100, NULL, NULL)
    INSERT INTO T_CALIBRE VALUES ('1', 80, 99, NULL)
    INSERT INTO T_CALIBRE VALUES ('2', 65, 79, NULL)
    INSERT INTO T_CALIBRE VALUES ('3', 35, 64, NULL)
    Je cherche à calculer le poids moyen de chaque calibre. Que dois je utiliser pour faire ca, une CTE, un requete pivot ou une requete simple ?

    Je ne vous demande pas de requete toute faite mais le moyen le plus simple pour parcourir toute la table et mettre à jour le champ CAL_POIDS_MOYEN.

    Merci.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 391
    Points
    18 391
    Par défaut
    Le poids moyen par objet ? C'est assez simple.
    Pour mettre à jour toute la table, il suffit de ne pas mettre de filtre dans le WHERE (et donc pas de clause WHERE).

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    J'ai pas tout saisi ! En fait je dois parcourir toute la table pour mettre a jour le champ CAL_POIDS_MOYEN mais je ne sais pas comment m'y prendre.

    Je veux écrire une PS qui effectue cette tache mais je ne sais pas si je dois utiliser une CTE, une requete PIVOT ou une simple requete.

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Bon, j'ai trouvé.

    En une seule requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE CALIBRE
    SET CAL_POIDS_MOYEN = (CAL_POIDS_MINI + CAL_POIDS_MAXI) / 2
    J'suis vraiment fatigué en ce moment !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET CAL_POIDS_MOYEN = (CAL_POIDS_MINI + CAL_POIDS_MAXI) / 2
    Vous avez une manière toute personnelle de calculer une moyenne...

  6. #6
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Si c'est çà votre 'moyenne' faites une colonne calculée pour CAL_POIDS_MOYEN
    Sinon toute mise à jour de l'une des colonnes MIN ou MAX rendra erronnée la valeur contenue dans CAL_POIDS_MOYEN.

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

Discussions similaires

  1. Update sur toute une table
    Par FoxLeRenard dans le forum MySQL
    Réponses: 11
    Dernier message: 28/01/2009, 20h49
  2. Modification sur toute une table
    Par FoxLeRenard dans le forum Débuter
    Réponses: 3
    Dernier message: 11/12/2008, 20h57
  3. Réponses: 4
    Dernier message: 06/09/2006, 14h04
  4. [Debutant] faire un update sur tout une table
    Par Karibou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2005, 14h44

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