[Resolu]Aide pour une requete SQL
Hello tout le monde,
J'aimerai savoir s'il est possible de creer une requete sql qui réalise le "comptage" de nombre de champ qui ont une valeur déterminée.
Je m'explique.
j'ai une table inscription, avec les champ suivant :
code_activite | code_client | desinscription | validite | prix | periode |
205 | 150 | FALSE | TRUE | 75 | 1
125 | 875 | FALSE | TRUE | 150 | 1
125 | 70 | TRUE | TRUE | 98,20 | 2
205 | 120 | FALSE | FALSE | 100 | 3
J'aimerai que pour chaque code_activite obtenir :
- le nombre de client inscrit
- le nombre de desinscription FALSE
- le nombre de desinscription TRUE
- le nombre de validite TRUE
- le nombre de validite FALSE
- la recette des inscriptions (SUM(prix))
- le nombre de personne inscrit en periode 1, 2 ou 3
j'arrive à le faire avec une requete par objectif, mais j'aimerai savoir si je peux faire plus optimisé. Si la solution est de passer en procedure stocké et de renvoyé une table correspondant à mes objectifs, je sais egalement le faire. Mais peut on faire autrement ?
Merci pour votre aide.
A+
ps : langage sql : postgresql 7.4.1 (plpgsql actif)
Re: Aide pour une requete SQL
Bonjour,
Citation:
Envoyé par hpghost
j'arrive à le faire avec une requete par objectif, mais j'aimerai savoir si je peux faire plus optimisé. Si la solution est de passer en procedure stocké et de renvoyé une table correspondant à mes objectifs, je sais egalement le faire. Mais peut on faire autrement ?
Tu as cité les deux seuls méthodes possibles à ma connaissance. La première est la plus optimisé : tu ne calcules que la donnée dont tu as spécifiquement besoin. La deuxième est la plus lourde (elle cumule tous les calculs), mais nécessite une seule requête pour obtenir tous les résultats.
Tu peux fusionner les deux approches : faire une procédure stockée pour chaque champ et créer une procédure stockée renvoyant tous les résultats et dont le code fera appel à toutes les procédures stockées individuelles.