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 :

demande precision syntaxe sql


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Points : 87
    Points
    87
    Par défaut demande precision syntaxe sql
    Bonjour,
    j aimerai des précisions sur une requête sql ou je dois
    récupérer plusieurs valeurs pour un même champ donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select *  from voiture where carac='rouge' and carac  ='creme'
    donc je dois recurerer toutes les occurences rouges et creme
    est-ce correct au niveau syntax sql?

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    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 115
    Points : 28 480
    Points
    28 480
    Par défaut
    Tu ne trouveras aucune ligne ayant deux valeurs différentes dans la même colonne...
    Remplace le AND par OR, ça fonctionnera mieux

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Points : 87
    Points
    87
    Par défaut
    si je fais un OR
    il me renvoit toujours 'rouge' sachant que creme existe dans la même table

  4. #4
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par Mobistar Voir le message
    si je fais un OR
    il me renvoit toujours 'rouge' sachant que creme existe dans la même table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT *  FROM voiture WHERE carac in  ('rouge' ,'creme')
    Vérifie l'orthographe de creme ( accent et majuscule )

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 112
    Points : 104
    Points
    104
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT id_voiture
      FROM voiture e1
     WHERE EXISTS (SELECT 1
                     FROM voiture e2
                    WHERE e1.id_voiture = e2.id_voiture
                      AND carac = 'rouge')
       AND EXISTS (SELECT 1
                     FROM voiture e3
                    WHERE e1.id_voiture = e3.id_voiture
                      AND carac = 'creme')

  6. #6
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par Kiroukool Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT id_voiture
      FROM voiture e1
     WHERE EXISTS (SELECT 1
                     FROM voiture e2
                    WHERE e1.id_voiture = e2.id_voiture
                      AND carac = 'rouge')
       AND EXISTS (SELECT 1
                     FROM voiture e3
                    WHERE e1.id_voiture = e3.id_voiture
                      AND carac = 'creme')
    Le but n'est pas d'avoir les 2 je pense ....
    mais juste les lignes avec creme et les lignes avec rouge ....


    Ne compliquons pas tout !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Points : 87
    Points
    87
    Par défaut
    merci cela fonctionne avec une autre valeur.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Points : 87
    Points
    87
    Par défaut
    le but étant d avoir un resulat qui renvoit les deux caractéristiques.

  9. #9
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 112
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par miloux32 Voir le message
    Le but n'est pas d'avoir les 2 je pense ....
    mais juste les lignes avec creme et les lignes avec rouge ....


    Ne compliquons pas tout !
    Si justement c'est ce que j'ai compris, puisque ta solution avec le IN renvoie le même résultat qu'avec le OR (qui ne lui convenait pas)

  10. #10
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par Kiroukool Voir le message
    Si justement c'est ce que j'ai compris, puisque ta solution avec le IN renvoie le même résultat qu'avec le OR (qui ne lui convenait pas)
    Elle ne lui convenait pas parce que creme ne figurait pas dans le résultat ,mais il s'agit d'un probleme de casse ou d'orthographe.

    Le but etant (enoncé dans le 1er post ) :
    récupérer plusieurs valeurs pour un même champ donné [..]
    je dois recuperer toutes les occurences rouges et creme
    Donc c'est un IN ou un OR .

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

Discussions similaires

  1. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 18h07
  2. Syntaxe SQL sous BCB
    Par ORLIK dans le forum C++Builder
    Réponses: 2
    Dernier message: 13/10/2004, 21h47
  3. Pb configuration et syntaxe SQL
    Par Glloq dans le forum Débuter
    Réponses: 2
    Dernier message: 09/09/2004, 16h17
  4. syntax sql spéciale pour postgresql ???
    Par krimson dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 05/05/2004, 16h23
  5. requete syntaxe sql
    Par tomm dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/04/2004, 17h56

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