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 et SQL. Discussion :

3 conditions dans une clause SELECT


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut 3 conditions dans une clause SELECT
    Bonjour

    Je désire exécuter une instruction SQL qui contient un "SELECT" soumis à 3 conditions. Et si je fais quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT enregistrement FROM table WHERE cond1 and cond2 and cond3
    Le compilateur dit qu'il y a trop de paramêtres et qu'il en attend 1.

    Je sais que ça marche avec deux mais comment faire pour qu'il y en ait 3 ?

    Merci

  2. #2
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    Ila n'y a pas de probleme avec trois!
    Ton erreur est ailleurs!
    Sa peut etre un probleme de guillemet,
    montre nous ta query ce sera plus facile pour t'aider.

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
                    Del_Table ("RDA_pb")
     
                    sSql = "INSERT INTO RDA_pb(Ba, Unit, Sys, Line, Chrono,  Function,"
                    sSql = sSql + "code, ref, Designation, Dimension, Quantity) "
                    sSql = sSql + "SELECT Ba, Unit, Sys, Line, Chrono, Function, "
                    sSql = sSql + "code, ref, Designation, Dimension, Weight, Unit, "
                    sSql = sSql + "Quantity"
                    sSql = sSql + "FROM Order_Final,xls_lot "
                    sSql = sSql + "WHERE Batch=Lot and Loc='Pb'  and NOT IN RDA1 ;"
                    Debug.Print sSql
                    ExecuteSQLQuery (sSql)
    La requête comporte sûrement une erreur évidente, mais je n'arrive pas à mettre la main dessus !

  4. #4
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    J'ai mis une éancienne version de la requête qui contenait encore les fautes de frappes. Faut pas y préter attention. :-)

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    WHERE Batch=Lot and Loc='Pb' and loc NOT IN RDA1 ;"

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Merci beaucoup. Je testerai tout à l'heure. Je savais que c'était tout bête mais ne pensais pas que c'était aussi basique !!

  7. #7
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    en plus tes champs ne sont pas les meme dans insert et select:
    Function est dans le select mais pas dans le insert!
    Weight = Quantity??

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Après correction, ma requête devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Del_Table ("ERDA_pb")
     
                    sSql = "INSERT INTO RDA_pb(Ba, Unit, Sys, Line, [Support Chrono], [Support Function],"
                    sSql = sSql + "[Techno code], [Supplier ref], Designation, Dimension, Weight, Unit, Quantity, "
                    sSql = sSql + "Displ, [Op load], [Preset load], [Length], Rev, Spec, Ord) "
                    sSql = sSql + "SELECT Ba, Unit, Sys, Line, [Support Chrono], [Support Function], "
                    sSql = sSql + "[Techno code], [Supplier ref], Designation, Dimension, Weight, Unit, "
                    sSql = sSql + "Quantity, Displ, [Op load], [Preset load], Length, rev, Spec, " + Me.txt_Choice + " "
                    sSql = sSql + "FROM Order_Final,Import_lot "
     
                                   sSql = sSql + "WHERE ((Batch=Lot and Loc='Pb') and (([Techno code] and [Syst] and [Line]) NOT IN RDA1));"
                    Debug.Print sSql
                    ExecuteSQLQuery (sSql)
    La requêt fonctionne quand j'ai que 2 condtions dans mon WHERE. Dès que je rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and (([Techno code] and [Syst] and [Line]) NOT IN EPC_RDA))
    , ça me dit "Trop peu de paramêtre. 1 attendu" ??????

  9. #9
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    Citation Envoyé par Aurèl90
    des que je rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    and (([Techno code] and [Syst] and [Line]) NOT IN EPC_RDA))
    , ça me dit "Trop peu de paramêtre. 1 attendu" ??????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    and (([Techno code] NOT IN EPC_RDA and [Syst] NOT IN EPC_RDA and [Line] NOT IN EPC_RDA))

  10. #10
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 137
    Points : 74
    Points
    74
    Par défaut
    Mais je veux que les lignes qui contiennent la combinaisons de [Techno code], Syst et Line ne soit pas dans la nouvelle table. Parce que si j'élimine toutes les lignes qui possèdent 1 des 3, je vais tout éliminer. C'est pour ça que j'avair fait un ([1] and 2 and 3) NOT IN EPC_RDA.

    Ton système n'élimine bien que la ligne qui possèdent les 3 critères en simultané ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/06/2014, 17h11
  2. Ordre des conditions dans une clause WHERE, important ou pas en 2012 ?
    Par clavier12AZQSWX dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/03/2012, 11h54
  3. [EF] Entite SQL - Requête dans une clause select
    Par Marsupilami_00 dans le forum Accès aux données
    Réponses: 0
    Dernier message: 20/11/2009, 11h05
  4. Réponses: 1
    Dernier message: 10/05/2009, 02h07
  5. Réponses: 4
    Dernier message: 07/03/2008, 16h21

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