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

Langage SQL Discussion :

aide pour requete


Sujet :

Langage SQL

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    857
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 857
    Points : 267
    Points
    267
    Par défaut aide pour requete
    bonjour,

    j'aurais besoin d'un petit coup de main pour une requete sql

    soit la requete suivante qui me sort la liste des clients qui sont
    - Etranger
    - qui appartiennent à la famille "textile"
    - qui appartiennent à la sous famille "standard"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select client.nom,fam.nom,sfam.nom,pays.nom from client
    join pays on  pays.pays_id=client.pays_id
    join fam on fam.fam_id=client.fam_id
    join sfam on sfam.sfam_id=client.sfam_id
    where pays.nom <> 'FRANCE'  and fam.nom='TEXTILE' and sfam.nom='STANDARD'
    order by client.nom
    La requete fonctionne bien mais maintenant on me demande: quel est le nombre et le nom des pays impactés par cette requete ?
    Est ce possible ?

    merci

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par looping Voir le message
    on me demande: quel est le nombre et le nom des pays impactés par cette requete ?
    Je suppose qu'il sagit du nombre de clients par pays ?

    Un petit GROUP BY devrait faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT pays.nom, COUNT(*) As NombreDeClients
    FROM client
    JOIN pays ON  pays.pays_id = client.pays_id
    JOIN fam ON fam.fam_id = client.fam_id
    JOIN sfam ON sfam.sfam_id = client.sfam_id
    WHERE pays.nom <> 'FRANCE'  
      AND fam.nom = 'TEXTILE' 
      AND sfam.nom = 'STANDARD'
    GROUP BY pays.pays_id
    ORDER BY pays.nom
    Inutile de sélectionner la famille et la sous-famille puisqu'elles font partie des critères de restriction (WHERE)

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Il faut modifier votre select et créér un agrégat, mais il faut aussi que vous cherchiez un peu !

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    857
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 857
    Points : 267
    Points
    267
    Par défaut reponse
    salut

    Merci pour les infos . C'est exactement ce que je voulais faire

    Concernant cette remarque:
    ........, mais il faut aussi que vous cherchiez un peu !
    Tout à fait d'accord mais soyez indulgent pour cette fois car cela fait 3 mois que je ne pratique plus le sql (pour cause de mutation interne).
    Et bien sur la personne qui m'a demandé cette requete voulait la réponse dans l'heure !!!

    Dur dur de s'y remettre !!
    Il faut que je me forme concernant ces fonctions d'agregat car je ni connait pas grand chose

    Salut
    A+

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par looping Voir le message
    Il faut que je me forme concernant ces fonctions d'agregat car je ni connait pas grand
    http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L1

    Avec GROUP BY, on peut utiliser les fonctions :
    - MAX
    - MIN
    - COUNT
    - SUM
    - AVG

Discussions similaires

  1. Aide pour Requete (compteur specifique)
    Par DreamerCG dans le forum Requêtes
    Réponses: 1
    Dernier message: 13/07/2006, 10h34
  2. [OGS ?] Demande d'aide pour requete SQL
    Par hamtary dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/03/2006, 12h58
  3. Aide Pour Requete SQL Simple ... Merci d'avance :)
    Par thefutureisnow dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/12/2005, 11h39
  4. aide pour requete sur 2 tables avec clé étranere
    Par richton95 dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2005, 13h32
  5. [SQL] aide pour requete UPDATE SVP
    Par ganok dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/03/2005, 09h17

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