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 :

[Access] Requête (avec AND) sur 1 meme champ d'une table


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 88
    Points : 47
    Points
    47
    Par défaut [Access] Requête (avec AND) sur 1 meme champ d'une table
    salut,

    je cherche une solution pour rédiger une requête sur un même champ d'une table.
    Je m'explique, je cherche toute les entités de la table "T_A", pour lesquelles le champ "C1" aurait les valeurs : 1 et 2 et 3



    Select T_A.*
    from T_A
    where T_A.C1 = "1" AND T_A.C1 = "2" AND T_A.C1 = "3";


    donne un résultat vide.
    Avec des OR ca marche, mais je ne veux pas 1 OU 2 OU 3 .

    J'ai pensé à faire des requêtes R1, R2, R3 qui sont en faite des copies de ma table "T_A", et j'insére ces requete dans ma requête



    Select T_A.*
    from T_A
    where R1= "1" AND R2= "2" AND R3= "3";

    Mais je n'obtiens aucun résultat!

    Y aurait-il une autre solution ?

    Merci bcp

  2. #2
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    (Quels est ton SGBD?)

    Sinon, cette requete fonctionne normalement dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM table1 WHERE unchamp IN ('a', 'b', 'c' ) ;
    @+

  3. #3
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Ta colonne ne peut pas avoir à la fois la valeur 1 et la valeur 2 et la valeur 3 en meme temps (ie ds la meme table)

    Essaies qquechose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT T1.*
    FROM T_A t1 
    INNER JOIN T_A t2 USING (la_pk)
    INNER JOIN T_A t3 USING (la_pk)
    WHERE T1.C1 = "1" 
    AND T2.C1 = "2" 
    AND T3.C1 = "3";
    A +

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 88
    Points : 47
    Points
    47
    Par défaut
    Mon SGBD est ACCESS,

    en faite j'ai fait qq chose de similaire à la réponse de TheLeadingEdge (cf ci dessous), mais ca ne marche pas, à savoir que je récupère la valeur de liste déroulantes


    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String


    SQL = "SELECT T_Consultant.ID_CONSULTANT, T_Consultant.NOM_CONSULTANT, T_ConsultantActivite.ID_CONSULTANT, T_ConsultantActivite.ID_ACTIVITE, R_RechConsultantSecteur1.ID_ACTIVITE, R_RechConsultantSecteur2.ID_ACTIVITE"
    SQL = SQL & " FROM T_Consultant INNER JOIN (R_RechConsultantSecteur1 INNER JOIN (R_RechConsultantSecteur2 INNER JOIN T_ConsultantActivite ON R_RechConsultantSecteur2.ID_ACTIVITE = T_ConsultantActivite.ID_ACTIVITE) ON R_RechConsultantSecteur1.ID_ACTIVITE = T_ConsultantActivite.ID_ACTIVITE) ON T_Consultant.ID_CONSULTANT = T_ConsultantActivite.ID_CONSULTANT"
    SQL = SQL & " Where T_Consultant.NOM_CONSULTANT like '*" & Me.lst_RechNom & "*' "

    If Not Me.chk_secteur1 Then
    SQL = SQL & " AND R_RechConsultantSecteur1.ID_ACTIVITE =" & Me.Lst_Secteur1
    End If

    If Not Me.chk_secteur2 Then
    SQL = SQL & " AND R_RechConsultantSecteur2.ID_ACTIVITE = " & Me.Lst_Secteur2
    End If



    'SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))

    SQL = SQL & ";"


    'Me.lblStats.Caption = DCount("*", "T_CONSULTANT", SQLWhere) & " / " & DCount("*", "T_CONSULTANT")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
    Je vais essayer la syntaxe de trinityDev


    Merci

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/09/2012, 23h12
  2. Réponses: 5
    Dernier message: 27/03/2012, 17h02
  3. UPDATE d'un tuple avec condition sur le meme champ
    Par zwan.bourg dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/09/2009, 12h32
  4. select distinct sur le premier champ d'une table
    Par alexkickstand dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 28/08/2008, 16h03
  5. requete ajout caractere sur tous les champs d'une table
    Par lorenzo74 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/06/2006, 13h34

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