Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > WinDev > HyperFileSQL
HyperFileSQL HyperFileSQL est un système de gestion de base de données relationnel exploité par les logiciels WinDev, WebDev et WinDev Mobile.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/09/2012, 21h32   #1
phcm971
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 46
Détails du profil
Informations personnelles :
Âge : 63
Localisation : Dom-Tom

Informations forums :
Inscription : janvier 2010
Messages : 46
Points : 10
Points : 10
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 :
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
phcm971 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2012, 00h25   #2
punkoff
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 2 155
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 2 155
Points : 3 487
Points : 3 487
bonjour,

Faites un produit en croix ..?
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2012, 08h47   #3
al1_24
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 871
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 52
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 871
Points : 11 745
Points : 11 745
Comme cela, ça ne convient pas ?
Code :
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
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/10/2012, 13h14   #4
phcm971
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 46
Détails du profil
Informations personnelles :
Âge : 63
Localisation : Dom-Tom

Informations forums :
Inscription : janvier 2010
Messages : 46
Points : 10
Points : 10
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
phcm971 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2012, 13h47   #5
punkoff
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 2 155
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 2 155
Points : 3 487
Points : 3 487
Dans ce cas là il faut le feinter.

Passez par une sous-requête ou une vue.
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2012, 13h51   #6
phcm971
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 46
Détails du profil
Informations personnelles :
Âge : 63
Localisation : Dom-Tom

Informations forums :
Inscription : janvier 2010
Messages : 46
Points : 10
Points : 10
Comment ??

windev n aimes pas trop les feintes
phcm971 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 15h02   #7
phcm971
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 46
Détails du profil
Informations personnelles :
Âge : 63
Localisation : Dom-Tom

Informations forums :
Inscription : janvier 2010
Messages : 46
Points : 10
Points : 10
Pas de solution ?
phcm971 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 15h34   #8
punkoff
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 2 155
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 2 155
Points : 3 487
Points : 3 487
Bah si, je vous ai déjà orienté sur des pistes ...

Les avez-vous essayez ?
qu'est-ce qui n'a pas marché ?
etc
punkoff est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 21h23   #9
phcm971
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 46
Détails du profil
Informations personnelles :
Âge : 63
Localisation : Dom-Tom

Informations forums :
Inscription : janvier 2010
Messages : 46
Points : 10
Points : 10
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
phcm971 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2012, 13h29   #10
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
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 :
1
2
3
4
5
Poucent est reel 
Hexecuterequete(MaRequete,...)
Hlitpremier(MaRequete)
Poucent = MaRequete.recette * 100 / (MaRequete.recette + MaRequete.depense)
hannuledeclaration(MaRequete)
__________________
Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
Pas de question par MP s'il vous plait. Le forum est fait pour cela...

Make it real not fantasy
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2012, 09h26   #11
phcm971
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 46
Détails du profil
Informations personnelles :
Âge : 63
Localisation : Dom-Tom

Informations forums :
Inscription : janvier 2010
Messages : 46
Points : 10
Points : 10
C est la solution que j ai adopté mais ca doit pouvoir se faire dans la requête
phcm971 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/10/2012, 09h29   #12
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Pas sûr avec le HF...
__________________
Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
Pas de question par MP s'il vous plait. Le forum est fait pour cela...

Make it real not fantasy
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2012, 16h50   #13
wimbish
Membre Expert
 
Avatar de wimbish
 
Homme Christophe Vibert
Développeur informatique
Inscription : octobre 2006
Messages : 409
Détails du profil
Informations personnelles :
Nom : Homme Christophe Vibert
Âge : 38
Localisation : France, Manche (Basse Normandie)

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

Informations forums :
Inscription : octobre 2006
Messages : 409
Points : 1 043
Points : 1 043
Bonjour,

Essayes :

Code :
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/
wimbish est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/10/2012, 11h15   #14
PointCarreJo
Membre du Club
 
Homme
Consultant informatique
Inscription : octobre 2012
Messages : 31
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : octobre 2012
Messages : 31
Points : 59
Points : 59
Citation:
Envoyé par wimbish Voir le message
Bonjour,

Essayes :

Code :
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
PointCarreJo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h25.


 
 
 
 
Partenaires

Hébergement Web