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

SQL Oracle Discussion :

SUM, GROUP BY et UPDATE dans une seule requête?


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut SUM, GROUP BY et UPDATE dans une seule requête?
    Bonjour,

    je vais chercher d'expliquer mon problème avec un exemple.

    J'ai une table EMPLOYES avec quatre colonnes: nom, niveau, salaire, moyenne_salaire_niveau.

    moyenne_salaire_niveau doît contenire la moyenne des salaires des employés ayant le même niveau.

    Y a-t-il une façon de calculer cette moyenne et de mettre à jour toutes les lignes avec une seule requête?

    Exemple de données:
    NOM NIVEAU SALAIRE MOYENNE
    Pierre 1 10 ?
    Marc 1 20 ?
    Antoine 2 5 ?
    Joe 2 15 ?

    Je voudrais mettre 15,15,10 et 10 dans la dernière colonne.

    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Quelle idée de stocker le résultat d'un calcul

    Il se passera quoi quand tu mettras à jour le salaire ? Tu refais un update de la table ?

    Sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE employes emp
    SET moyenne = (SELECT AVG(salaire) FROM employes WHERE niveau = emp.niveau)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Novembre 2008
    Messages : 46
    Points : 60
    Points
    60
    Par défaut
    Si il veut garder ses donnees historiquement alors l'idee de stocker le resultat d'un calcul n'a rien de choquant.

    Mais dans ce cas le modele pourrait etre optimiser.

Discussions similaires

  1. Deux clauses Group by dans une seule requête
    Par JyLo1 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 10/06/2015, 14h37
  2. Regrouper 2 update dans une seule requête
    Par pol2095 dans le forum Requêtes
    Réponses: 12
    Dernier message: 28/10/2011, 21h58
  3. Plusieurs comptages dans une seule requête
    Par DBA_OCP dans le forum Langage SQL
    Réponses: 9
    Dernier message: 01/12/2008, 19h54
  4. Réponses: 7
    Dernier message: 12/06/2008, 13h26
  5. Lier trois tables dans une seule requête ?
    Par tempirate dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/06/2006, 19h27

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