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 :

Besion d'aide pour une requête SQL SVP


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 31
    Points
    31
    Par défaut Besion d'aide pour une requête SQL SVP
    Bonjour,
    Voici une requête sur laquelle je bloque depuis ce matin!!!
    Soit une table "Table1" , constituée de 3 colonnes qui permet d'associer des voitures à une ou plusieurs personnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Table1
    Voiture Personne Sexe
    Clio Paul    Homme
    Clio Cath   Femme
    Clio Clau   Homme
    uno Alice   Femme
    Je dois rechercher les voitures qui sont associées à 3 personnes (2 hommes et une femme). Ma requête doit me renvoyer le nom de ces 3 personnes (dans cet exemple Paul, catherine et claude).

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 879
    Points : 53 057
    Points
    53 057
    Billets dans le blog
    6
    Par défaut
    faites un count(DISTINCT nom) = 2 pour les hommes et un count(DISTINCT nom) = 1 pour les femmes.

    A +

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Points : 42
    Points
    42
    Par défaut
    Ca doit etre une requete qui ressemble a cela .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    select THomme.voiture from
    (select voiture, sexe
    from table1
    group by voiture, sexe 
    having sexe=Homme
    and coutn(*)=2
    ) as THomme,
    (select voiture, sexe
    from table1
    group by voiture, sexe 
    having sexe=Femme
    and coutn(*)=1
    ) as TFemme
    where THomme.voiture=TFemme.voiture
    Bon courage

  4. #4
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Ce genre de requete peut vous aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    SELECT 
        voiture
    FROM 
        Table1
    GROUP BY 
       voiture 
     HAVING (
                  SUM(CASE sexe 
                           WHEN 'Homme' THEN 1 
                            ELSE 0 
                          END)=2 
                   AND SUM( CASE sexe 
                           WHEN 'Femme' THEN 1 
                            ELSE 0 
                           END)=1)
    Cela devrait vous ramener les voitures associées a 2 hommes et 1 femme
    a tester adapter !

    Bon courage

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 31
    Points
    31
    Par défaut
    Merci pour vos réponses
    Ca doit etre une requete qui ressemble a cela .....


    Code :
    SELECT THomme.voiture FROM
    (SELECT voiture, sexe
    FROM table1
    GROUP BY voiture, sexe
    HAVING sexe=Homme
    AND coutn(*)=2
    ) AS THomme,
    (SELECT voiture, sexe
    FROM table1
    GROUP BY voiture, sexe
    HAVING sexe=Femme
    AND coutn(*)=1
    ) AS TFemme
    WHERE THomme.voiture=TFemme.voitureBon courage

    Cette sollution m'a l'aire pas mal sauf que j'ai un message d'erreur (cette requête ne se termine pas correctement)
    Quelqu'un a une idée?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Peut-être count au lieu de coutn, mais j'espère que tu avais vu cela.
    De plus Bon courage n'est pas du sql
    a+
    soazig

  7. #7
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Et la requete que j'ai pondue ne fonctionne pas non plus ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 31
    Points
    31
    Par défaut
    Et la requete que j'ai pondue ne fonctionne pas non plus ?
    Ca fonctionne niquel merci!

  9. #9
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Penser au bouton "Résolu"

Discussions similaires

  1. Besoin d'aide pour une requête SQL
    Par sexy-meta dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/07/2008, 14h36
  2. Besoin d'aide pour une requête SQL
    Par FranckyVegas dans le forum Langage SQL
    Réponses: 7
    Dernier message: 27/05/2008, 20h16
  3. aide pour une requête sql/plpgsql
    Par viny dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/11/2007, 11h32
  4. Besoin d'aide pour une requête SQL
    Par Borami dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/11/2005, 10h33
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56

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