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 :

au moins un de chaque parmi


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut au moins un de chaque parmi
    bonjour,
    je me permet de vous poster mon probleme car je n'ai pas réussi à trouver mon bonheur syr d'autre poste

    voici ma table parc_machine en simplifiée
    un client peut possède plusieurs de nos machines, et peut en avoir deux fois la meme

    client | type_machine | date_achat | num_serie | ...

    je cherche le moyen d'avoir les client qui ont au moins la machine a et la machine b dans leur parc...

    je suis partie sur un truc style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select client from parc where type_machine in ('machine_a' , 'machine_b') group by client having count(client) >=2
    ça marche sauf que je récupere aussi les client qui ont deux fois la machine_b par exemple.
    je pense pas etre loin mais j'ai plus d'idées
    par avance merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    Oui effectivement vous n'êtes pas loin de la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT client 
    FROM parc 
    WHERE type_machine IN ('machine_a' , 'machine_b') 
    GROUP BY client 
    HAVING count(distinct type_machine) = 2

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    et si tu fais une jointure de la table sur elle-même, un peu comme ceci:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select distinct p1.client
    from parc p1
    inner join parc p2 on p1.client = p2.client and p2.type_machine = 'type2'
    where p1.machine = 'type1'

    Tatayo.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    je crois que je suis maudit...
    j'ai oublé de préciser que j'utilise (c'est pas qui ait choisit) MS access
    il ne ère pas le count(distinct)

    mais il y a pas mal d'autre post qui en parle,
    j'espère trouver...

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    La requête de tatayo répond à ton besoin, et sans COUNT(DISTINCT ...)
    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
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/07/2011, 10h44
  2. Réponses: 19
    Dernier message: 17/05/2006, 19h05
  3. generer un numero auto a chaque insertion
    Par julio84 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/07/2003, 12h22
  4. [Composants] TRichEdit: Une police pour chaque ligne
    Par naili dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/03/2003, 15h59
  5. JBuilder 7 personnal sort à chaque save
    Par Hannouz dans le forum JBuilder
    Réponses: 4
    Dernier message: 17/12/2002, 22h53

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