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 sélection multiple


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Problème de sélection multiple
    Bonjour à tous !

    Je post assez rarement, mais cette fois ci je bloque ! Alors avant de faire tomber mon écran et d'envoyer la souris sans fil par la fenêtre je caresse l'espoir d'avoir un peu d'aide de votre part.

    Voici mon problème:
    Je gère des annonces, qui peuvent comporter 0 ou plusieurs services.
    Je dispose de trois tables.
    - Annonce : qui contient mes annonces
    - Services : qui content les services
    - Annonce_services : qui contient les clés primaire d'annonce et de services pour faire la liaison entre les deux.

    Ma question est donc: Comment récupérer toutes les annonces qui comportent les services choisis.
    Par exemple: je veux récupérer les annonces qui ont pour service le service.id='1' et service.id='2'.

    Je vois vraiment pas comment faire ... si quelqu'un voit la solution ?

    Merci à tous

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 49
    Points : 126
    Points
    126
    Par défaut
    Ca s'appelle une jointure.

    Donc dans ton cas, ça doit ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select annonce.* from
    annonce, annonce_services, services
    where
    annonce.id=annonces_services.annonce_id
    and services.id=annonce_services.services_id
    and service.id='1' et service.id='2'
    Tu peux aussi utiliser les JOIN si tu es sous Oracle, mais comme tu précises pas...

  3. #3
    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,

    regardez du coté de la clause EXISTS

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    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 103
    Points : 28 400
    Points
    28 400
    Par défaut
    Citation Envoyé par jmi57 Voir le message
    Ca s'appelle une jointure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    where ...
    and service.id='1' et service.id='2'
    ... et il y a très peu de chances de trouver une ligne dans la table service qui satisfasse ces deux conditions exclusives

    Plus sérieusement, tu cherches une annonce qui comporte au moins un des services sélectionnés ou tous les services sélectionnés ?

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2009
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 49
    Points : 126
    Points
    126
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    ... et il y a très peu de chances de trouver une ligne dans la table service qui satisfasse ces deux conditions exclusives

    Plus sérieusement, tu cherches une annonce qui comporte au moins un des services sélectionnés ou tous les services sélectionnés ?
    Tout à fait, je pensais à un OR...
    C'est le genre d'étourderie qui peut faire mal dans un projet

  6. #6
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Le OR ou bien le IN t'aideront pour résoudre ton problème.

Discussions similaires

  1. problème pour modifier une sélection multiple
    Par tarmo57 dans le forum Débuter
    Réponses: 2
    Dernier message: 04/09/2012, 06h49
  2. [Langage] Problème ListView à sélection multiple
    Par M4veR1K dans le forum JavaFX
    Réponses: 0
    Dernier message: 21/03/2012, 11h08
  3. [WD-2003] problème sélection multiple
    Par johana66 dans le forum Word
    Réponses: 14
    Dernier message: 17/03/2011, 18h15
  4. [MySQL] Problème de sélection multiple
    Par Death83 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 25/08/2006, 16h08
  5. Réponses: 3
    Dernier message: 29/04/2006, 11h58

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