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

Oracle Discussion :

Mise à jour avec totalisation = UPDATE avec SUM imbriqué


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Mise à jour avec totalisation = UPDATE avec SUM imbriqué
    Bonjour à tous, j'ai une mise a jour a faire, et j'aimerais la faire en 1 requete car j'ai 2 tables ENORMES.

    J'aimerais faire une requete de ce style sous oracle, mais ca ne marche pas

    UPDATE STOCK as s, (SELECT STOCK,SUM(NOSTOCK.STOA+NOSTOCK.ENTA-NOSTOCK.SORA) AS total FROM NOSTOCK GROUP BY STOCK ) as sstock SET s.STOCKT=s.STOCKT+sstock.total WHERE s.CODE=sstock.STOCK

    precision, la colonne stock de nostock est une clé secondaire venant de stock, et code est la clé primaire de stock

    Merci à vous

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Bonjour et bienvenu sur le forum.

    Merci à l'avenir d'utiliser les balises code qui améliore la lisibilté.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE STOCK set STOCKT = STOCKT + (SELECT SUM(NOSTOCK.STOA+NOSTOCK.ENTA-NOSTOCK.SORA) AS total FROM NOSTOCK WHERE STOCK = STOCK.CODE GROUP BY STOCK )
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut plaineR merci de ta réponse rapide, MAIS
    J'ai commencé par implémenté le même code que toi, MAIS, ce que je veux obtenir, c'est le total par ligne de STOCK.CODE,
    or la solution que tu me donnes fait la somme sur tous les lignes du moment où il trouve un stock.code = nostock.stock.

    Je ne sais pas si je suis arrivé à me faire comprendre, donc petit algo :
    1) je recupere le code stock = stock.codeN par exemple
    2) mise a jour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE STOCK set STOCKT = STOCKT + (SELECT SUM(NOSTOCK.STOA+NOSTOCK.ENTA-NOSTOCK.SORA) AS total FROM NOSTOCK WHERE NOSTOCK.STOCK = STOCK.codeN )
    et on fait autant de update que de stock.code trouvé
    Mais je ne veux pas faire 100000 requetes, donc ....
    Help

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Merci plaineR
    Ta solution marche, je viens de retester et la différence avec mon code, c'est le group by, ca change tout !!!!
    Merci à toi,
    Grâce à toi, je vais passer une bonne soirée

    Je m'excuse, dans mon enthousiasme, j'ai fait nouveau au lieu de répondre. Je manque de pratique de forum, alors bientot sur developpez !!!!

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/12/2006, 17h54
  2. Mise à jour d'une table avec une autre
    Par Lucien dans le forum SQL
    Réponses: 2
    Dernier message: 20/04/2006, 10h46
  3. [DOM4J] Mise à jour des docs xml avec dom4j
    Par kodo dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 06/04/2006, 21h48
  4. Mise à jour dans un formulaire avec condition
    Par Bourni dans le forum Access
    Réponses: 4
    Dernier message: 06/03/2006, 22h13
  5. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46

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