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 :

problème de requête


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut problème de requête
    Bonjour,

    tout d'abord la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT DISTINCT ville_entreprise, id_entreprise 
    FROM ENTREPRISE WHERE id_formation
    IN (
    SELECT id_formation
    FROM FORMATION
    WHERE id_responsable=1
    ) ORDER BY ville_entreprise ASC
    Le souci vient du fait que la requete contenue dans le IN() contient plusieurs valeurs, donc je récupère des doublons.
    Comment enlever ces doublons?

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    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 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Avec quel SGBD ?
    Quels doublons ?

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut
    J'en ai un peu oublié.
    C'est une base de données Mysql.
    Le fait et que je récupère plusieurs fois ville_entreprise (ex : Strasbourg) puisqu'il est présent dans la table FORMATION sous plusieur id_formation.
    J'espère avoir été clair

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Commençons par le commencement tu veux faire quoi avec ta requête ?

    Car il est normal que tu es plusieurs fois la même ville en résultat si tu as plusieurs entreprises dans cette même ville.

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut
    Le but est d'enlever les doublons de ville (ville_entreprise) car le IN me ramène plusieur id_formation et c'est de ces id_formation que dépende les villes.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    table entreprise
    id_formation | ville_entreprise
    1                | Strasbourg
    2                | Strasbourg
     
    table formation
    id_formation | id_responsable
    1                |       1
    2                |       2
    Dans le cas là je récupère deux fois strasbourg alors que je veux ne le récupérer qu'une fois (enlever le doublon)

  6. #6
    Expert éminent
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Points : 7 291
    Points
    7 291
    Par défaut
    Citation Envoyé par yaya0057
    Le souci vient du fait que la requete contenue dans le IN() contient plusieurs valeurs, donc je récupère des doublons.
    Le problème ne vient pas de là. Qu'il y ait une ou plusieurs occurences identiques dans le IN ne change rien au nombre de lignes de la requête appelante. Le seul lien avec la requête appelante est la vérification de l'existence de la ligne.

    Dans la requête principale si tu ne sélectionnes pas le nom de l'entreprise mais 2 lignes de 2 entreprises différentes avec la même ville c'est normal qu'il y ait 2 lignes en réponse, puisque si tu affichais le nom de l'entreprise tu aurais 2 entreprises avec la même ville.

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    C'est ce que je disais sniff ...

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    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 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Pour ne retourner que la ville, la modification est simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT DISTINCT ville_entreprise --, id_entreprise 
    FROM ENTREPRISE WHERE id_formation
    IN (
    SELECT id_formation
    FROM FORMATION
    WHERE id_responsable=1
    ) ORDER BY ville_entreprise ASC

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

Discussions similaires

  1. Réponses: 19
    Dernier message: 27/08/2003, 15h32
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème de requètes concurentes
    Par Emmanuel.G dans le forum XMLRAD
    Réponses: 3
    Dernier message: 08/08/2003, 16h51
  4. Réponses: 2
    Dernier message: 16/07/2003, 14h40
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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