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

PostgreSQL Discussion :

Aide pour une requete SQL


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 12
    Points
    12
    Par défaut [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)

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut 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.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Points
    417
    Par défaut
    Pour la premiere par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT count(code_client) AS nbClient FROM nomTable GROUP BY code_activite;

    Te donnera bien le nombre de client par code d'activite non ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Effectivement,

    mais ce que je recherchai c'est pourvoir compter ou additionner tout mes champs selon leur valeurs...

    Merci pour vos réponses. Je vais donc m'orienté vers les procedures stockés.

    Bonne journée. A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide pour une requete SQL..
    Par denissay dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 13/11/2007, 21h40
  2. Aide pour une requete SQL
    Par gimpycpu dans le forum Langage SQL
    Réponses: 0
    Dernier message: 09/11/2007, 18h50
  3. Besoin d'aide pour une requete SQL
    Par fabris dans le forum Requêtes
    Réponses: 15
    Dernier message: 02/05/2006, 17h03
  4. Besoin d'aide pour une requete SQL
    Par fabris dans le forum Requêtes
    Réponses: 6
    Dernier message: 10/04/2006, 20h27
  5. Aide pour une requete SQL
    Par hpghost dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 08/01/2005, 10h15

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