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

Requêtes MySQL Discussion :

Exclure un résultat d'une requête


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut Exclure un résultat d'une requête
    J’ai une table abonnements, avec des types d'abonnements.

    Chaque type d'abonnement est caractérisés par une abréviation.

    Il y aura des membres honoraires (a vie) déterminé par le Conseil d'administration cependant lorsque une personne va s'abonner dans la requête pour les abonnements je dois exclure le membre honoraire.

    Par exemple si j'ai une requête comme celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM abonnements ORDER BY ID_Abonnement
    Je veux exclure le membre honoraire qui a le TYPE HON quel est la façon de faire svp ?

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 946
    Par défaut
    Bonjour

    Avez-vous regardez du côté de jointures (Inner join, left join...) ?

    Allez jeter un oeil sur les tuto de SQLpro, faites des recherches la-dessus et vous devriez trouver votre solution.

    Courage

    Pierre

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 730
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Si le type est une colonne de la table abonnements, alors une simple restriction WHERE suffit
    Sinon, en effet, il faut utiliser une jointure avec la table dans laquelle on trouvera cette colonne

    Dans tous les cas, il faut remplacer SELECT * par la liste des colonnes utiles au traitement, n'utilisez JAMAIS SELECT * dans un traitement !

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    Le SELECT * était à titre d'exemple, je demande seulement les colonnes dont j'ai besoin dans mes requêtes.

    Ce que je dois exclure est dans la même table, donc je doute que un INNER JOIN soit la solution.

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 370
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 370
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par ConceptInterWEB Voir le message
    Le SELECT * était à titre d'exemple, je demande seulement les colonnes dont j'ai besoin dans mes requêtes.

    Ce que je dois exclure est dans la même table, donc je doute que un INNER JOIN soit la solution.
    Donne-nous la structure de ta table, quelques lignes d'exemple, ça peut aider.

    Dans le principe, récupérer les abonnements hors membres honoraires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT ALL tes_colonnes
    FROM abonnements
    WHERE type_membre <> 'HON'

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    Bonjour SEB,

    Ton exemple est exactement ce dont j'avais besoin, j'ai eu un blanc de mémoire total. Je savais que c'était dans la CLAUSE WHERE que le tout se faisait.

    Merci

  7. #7
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 730
    Billets dans le blog
    10
    Par défaut
    Ben oui, c'était déjà expliqué plus haut

    Citation Envoyé par escartefigue Voir le message
    Si le type est une colonne de la table abonnements, alors une simple restriction WHERE suffit
    Sinon, en effet, il faut utiliser une jointure avec la table dans laquelle on trouvera cette colonne

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

Discussions similaires

  1. Comparer le résultat d'une requête
    Par VirginieGE dans le forum ASP
    Réponses: 3
    Dernier message: 10/08/2004, 16h15
  2. Arrondir le résultat d'une requête
    Par wautierp dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/06/2004, 12h56
  3. Résultat d'une requête dans une variable...
    Par Hoegaarden dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/04/2004, 14h51
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 16h22
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 16h26

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