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 :

Clause WHERE sur deux champs


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut Clause WHERE sur deux champs
    Bonjour,
    J'ai un petit problème dans une requete, et je voix pas encore comment le résoudre.
    Voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT champ1, champ2, champ3, champ4
    FROM table1, table2
    WHERE table1.Id = table2.ID
    AND (champ1 <>'valeur1' AND champ2 <>'valeur')
    ce que je veux c'est afficher tous les enregistrements dont le champ1 et champ2 seront différents simultanément de 'valeur1' et 'valeur2', Mais il doit afficher par exemple un enregistrement dont le champ1<>'valeur1' et champ2='valeur2' et inversement
    donc il faut que la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND (champ1 <>'valeur1' AND champ2 <>'valeur')
    soit tester comme s'il s'agit d'un seul champ.

    J'espere que j'été claire et Merci de votre réponse

  2. #2
    Membre du Club Avatar de moins52
    Inscrit en
    Août 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    Il faut plus décomposer ta requête

    Si je suis bien un résultat est affiché si
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    champ1<>'valeur1' et champ2='valeur2'
    ou champ1='valeur1' et champ2<>'valeur2'
    ou champ1<>'valeur1' et champ2<>'valeur2'
    Une fois que la décomposition effectuée la requête est assez simple à réaliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT champ1, champ2, champ3, champ4
    FROM table1, table2
    WHERE table1.Id = table2.ID
    AND (champ1<>'valeur1' et champ2='valeur2'
    ORchamp1='valeur1' et champ2<>'valeur2'
    ORchamp1<>'valeur1' et champ2<>'valeur2')

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Points : 83
    Points
    83
    Par défaut
    Bravo moins52
    c'est bien vu, merci bien

  4. #4
    Membre du Club Avatar de moins52
    Inscrit en
    Août 2003
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 63
    Points : 67
    Points
    67
    Par défaut
    no problemo

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

Discussions similaires

  1. Clause Where sur un champ "calculé"
    Par papouuu dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 09/03/2011, 17h12
  2. Clause where sur liste de champs
    Par SelectEtoile dans le forum Développement
    Réponses: 3
    Dernier message: 04/02/2010, 22h41
  3. Clause WHERE sur tous les champs du dataAdapter.XxxCommand
    Par Graffito dans le forum Accès aux données
    Réponses: 1
    Dernier message: 26/06/2008, 17h31
  4. pb avec select sur deux champs
    Par graphicsxp dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/03/2005, 15h30
  5. contrainte sur deux champs d'une table
    Par bdkiller dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 17/09/2004, 18h26

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