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 PostgreSQL Discussion :

Requête SQL clause WHERE


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 96
    Points
    96
    Par défaut Requête SQL clause WHERE
    Bonjour,

    Je souhaiterais sur une table sélectionner un type de bati verifian à la fois 2 condition sur chaque bati.

    Voici une partie de la table :

    Nom : requete_sql.jpg
Affichages : 141
Taille : 27,6 Ko

    Je souhaiterais via ma requete avoir seulement les bati (identifiant bati id_bati)vérifiant id_type_bati 2 et 4.

    Cela parait simple mais quand je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM cavm_sites_eco.ref_bati_type 
    WHERE (cavm_sites_eco.ref_bati_type.id_type_bati = 2 
    AND cavm_sites_eco.ref_bati_type.id_type_bati = 4)
    Je n'ai rien en retour.

    Si je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM cavm_sites_eco.ref_bati_type 
    WHERE (cavm_sites_eco.ref_bati_type.id_type_bati = 2 
    OR cavm_sites_eco.ref_bati_type.id_type_bati = 4)
    J'ai à la fois les batis verifiant la condition 2 et 4 ou seulement 2 ou seulement 4

    Comment dois-je faire pour garder les batis verifiant seulement 2 et 4 ?

    Merci pour votre retour.

    SD

  2. #2
    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 803
    Points
    30 803
    Par défaut
    Cette question revient régulièrement.
    Voici une manière d'y répondre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT  *
    FROM    cavm_sites_eco.ref_bati_type    bat 
    WHERE   EXISTS
            (   SELECT  NULL
                FROM    cavm_sites_eco.ref_bati_type    sel
                WHERE   sel.id_type_bati    IN  (2, 4)
                    AND sel.id_bati         = bat.id_bati
                HAVING  COUNT(DISTINCT sel.id_type_bati)    = 2   
            )
    ;
    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.

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 96
    Points
    96
    Par défaut
    Merci pour ta réponse... j'ai fait comme ca finalement , je ne sais pas si c est mieux :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT *
    FROM ref_bati_type
    WHERE
        id_type_bati = 2
        AND (
            SELECT id_bati
            FROM ref_bati_type
            WHERE id_type_bati = 4
        );

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

Discussions similaires

  1. Requête SQL clause WHERE
    Par bentrooper dans le forum JDBC
    Réponses: 6
    Dernier message: 20/02/2013, 16h03
  2. [Oracle / Sql] clause where avec resultat d'une requete
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 2
    Dernier message: 31/01/2006, 09h37
  3. [SQL] clause Where sur un booléen
    Par mosquitout dans le forum Access
    Réponses: 3
    Dernier message: 21/12/2005, 21h29
  4. pb the requête sql clause UNION
    Par new_wave dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/11/2005, 13h38
  5. État, Requète et clause Where(SQL)
    Par Philippe299 dans le forum Access
    Réponses: 2
    Dernier message: 12/09/2005, 00h22

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