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 :

dans SQL dans un script sh


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut dans SQL dans un script sh
    Bonjour,

    J'ai la ligne SQL suivante dans un select d'un script sh :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    to_char(sum(decode(b.cod_rub,'910N',nvl(b.mnt_rub,0),0))*100)

    Comment puis-je modifier cette imbrication pour que dans le cas où la valeur de la colonne 910N est égale à zéro je puisse renvoyer la valeur 99999.
    Je ne sais pas par quel bout prendre cet enchevêtrement.
    Le sum est présent à cause bien sûr d'un group by.

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Vous n'avez pas de colonne 910N, je suppose que vous vouliez dire "dans le cas où le mnt_rub vaut zéro pour les cod_rub 910N".

    C'est simple à changer, mais comme c'est à l'intérieur de la somme, vos résultats finaux vont devenir complètement incohérent.

    Avec ces données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    cod_rub mnt_rub
    ------- -------
    910N          0
    910N          1
    910N          2
    910N          3
    Aujourd'hui votre total renvoie 600.
    Avec votre règle le total renverra 10000500.

    Je doute que ce soit votre besoin réel.

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Par défaut dans SQL dans un script sh
    Bonjour

    Désolé pour les balises, je suis vraiment tout nouveau sur le forum
    Je voulais dire dans le cas où la valeur totale renvoyée par l'expression est zéro la forcer à 999999 sinon laissser le montant calaculé.
    je pensais à inclure un decode mais avec cet enchevêtrement je n'y arrive pas :
    quand la somme est = 0 alors on met 99999
    sinon on laisse la somme fournie par l'expression

    merci

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Essayez ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    case sum(case b.cod_rub when '910N' then coalesce(b.mnt_rub, 0) else 0 end)
      when 0
      then '99999'
      else to_char(sum(case b.cod_rub when '910N' then coalesce(b.mnt_rub, 0) else 0 end)*100)
    end as total

Discussions similaires

  1. Lancer un script pl/sql dans sql*plus
    Par samsan dans le forum PL/SQL
    Réponses: 9
    Dernier message: 16/10/2012, 11h36
  2. Exécuter une fonction PL/SQL dans SQL*PLUS
    Par soumou dans le forum PL/SQL
    Réponses: 5
    Dernier message: 03/11/2006, 00h07
  3. fonction pl/sql dans sql
    Par kisitomomotene dans le forum PL/SQL
    Réponses: 2
    Dernier message: 24/07/2006, 20h54
  4. [MySQL] Problème de requêtes SQL dans un script
    Par Nefret dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 08/09/2005, 15h08
  5. Appel d'un script SQL dans une procdure stockée
    Par doudou10000 dans le forum Oracle
    Réponses: 10
    Dernier message: 01/12/2004, 10h01

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