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

HyperFileSQL Discussion :

SQL calculer pourcentage dans une requête


Sujet :

HyperFileSQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 25
    Points
    25
    Par défaut SQL calculer pourcentage dans une requête
    Bonjour

    j utilise des fichiers Hyperfile pcsoft, je voudrais calculer dans ma requete sql quel pourcentage representent les dépenses par rapport aux recettes. Comment faire ?

    Merci de votre aide, voici ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT 
    SUM(DECODE(Depenses.DEP_Type,'D',Depenses.DEP_Montant,0)) AS Depense,
    SUM(DECODE(Depenses.DEP_Type,'R',Depenses.DEP_Montant, 0)) AS Recette
    FROM
    Depenses

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    Faites un produit en croix ..?

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Comme cela, ça ne convient pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT 
    SUM(DECODE(Depenses.DEP_Type,'D',Depenses.DEP_Montant,0)) AS Depense,
    SUM(DECODE(Depenses.DEP_Type,'R',Depenses.DEP_Montant, 0)) AS Recette,
    SUM(DECODE(Depenses.DEP_Type,'D',Depenses.DEP_Montant,0)) / SUM(DECODE(Depenses.DEP_Type,'R',Depenses.DEP_Montant, 0)) AS Rapport
    FROM
    Depenses
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Bonjour

    j avais deja fait ca mais Windev n en veux pas

    Message
    les fonctions d agregats ne sont pas autorisées en dehors des clauses select ou having

    et donc je bute la dessus

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Dans ce cas là il faut le feinter.

    Passez par une sous-requête ou une vue.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Comment ??

    windev n aimes pas trop les feintes

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Pas de solution ?

  8. #8
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bah si, je vous ai déjà orienté sur des pistes ...

    Les avez-vous essayez ?
    qu'est-ce qui n'a pas marché ?
    etc

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Si j ai essayé et meme réponse


    Message
    les fonctions d agregats ne sont pas autorisées en dehors des clauses select ou having

  10. #10
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Si la requête que tu as montrée dans ton premier mesage fonctionne, garde là !
    Utilise plutôt un traitement windev derrière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Poucent est reel 
    Hexecuterequete(MaRequete,...)
    Hlitpremier(MaRequete)
    Poucent = MaRequete.recette * 100 / (MaRequete.recette + MaRequete.depense)
    hannuledeclaration(MaRequete)
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    C est la solution que j ai adopté mais ca doit pouvoir se faire dans la requête

  12. #12
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Pas sûr avec le HF...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  13. #13
    Membre éprouvé Avatar de wimbish
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 416
    Points : 1 073
    Points
    1 073
    Par défaut
    Bonjour,

    Essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT
    Depense/Recette as rapport
    FROM 
    (SELECT SUM(DECODE(Depenses.DEP_Type,'D',Depenses.DEP_Montant,0)) AS Depense FROM Depenses),
    (SELECT SUM(DECODE(Depenses.DEP_Type,'R',Depenses.DEP_Montant, 0)) AS Recette FROM Depenses)
    Christophe.

    Tous les chemins mènent à Rome http://doc.pcsoft.fr/fr-FR/

  14. #14
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 162
    Points : 308
    Points
    308
    Par défaut
    Citation Envoyé par wimbish Voir le message
    Bonjour,

    Essayes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT
    Depense/Recette as rapport
    FROM 
    (SELECT SUM(DECODE(Depenses.DEP_Type,'D',Depenses.DEP_Montant,0)) AS Depense FROM Depenses),
    (SELECT SUM(DECODE(Depenses.DEP_Type,'R',Depenses.DEP_Montant, 0)) AS Recette FROM Depenses)
    Merci pour la contribution. J'ai essayé la requête pour un cas similaire dans mon application et ça marche formidablement. Merci à l'initiateur de la discussion de nous éclairer sur ses résultats à lui.

    Cordialement

Discussions similaires

  1. calcul de pourcentage dans une requête
    Par redoran dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/11/2010, 07h33
  2. [AC-2007] Calcul de pourcentage dans une requête
    Par Nephyline dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 05/10/2009, 15h31
  3. [SQL] Comment utiliser dans une requête une variable passée par URL
    Par foffa dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/08/2006, 12h27
  4. [PL/SQL] [9i] Variables dans une requête
    Par ftrifiro dans le forum Oracle
    Réponses: 6
    Dernier message: 07/02/2006, 12h19
  5. Calculs complexes dans une requête
    Par ARRG dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/06/2005, 19h11

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