#1 Mon 09 October 2006 11:16
- Fab64
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 4 Oct 2006
- Messages: 20
probleme requete sql
Bonjour,
je suis etudiant en master 1 sigat a rennes et je rencontre un problème dans une requete sql. Je dois selectionner une parcelle qui doit avoir comme caractéristique: devant etre de type "brousaille", carrière", "foret", "marais", prairie", "zone d'activité". Ma requete doit donc selectionner ces types mais en la tapant elle selectionne toute la table. Je me demandais ou etait la faille dans celle ci.
La requete que je tape est la suivante:
Select nature from occupationSol where Nature = ("brousaille" Or "carrière" Or "foret" Or "marais" Or "prairie" Or"zone d'activité")
Voila. merci d'avance
Fabrice
Hors ligne
#3 Mon 09 October 2006 14:11
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: probleme requete sql
Bonjour,
Certainement pas en remplaçant OR par AND!
Par contre
SELECT * FROM occupationsol WHERE (Nature='Brousaille' OR Nature = 'carrière' ...)
Après tout dépant de la base de donnée si tu es sous MSAccess c'est pas tout à fait la même syntaxe.
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#4 Mon 09 October 2006 14:56
Re: probleme requete sql
il faut écrire:
Select nature from occupationSol where Nature = "brousaille" Or Nature = "carrière" Or Nature = "foret" Or Nature = "marais" Or Nature = "prairie" Or Nature = "zone d'activité"
ou plus simplement (!)
Select nature from occupationSol where Nature in ( "brousaille" ,"carrière" ,"foret" , "marais" , "prairie" ,"zone d'activité")
BONNE JOURN2E
Hors ligne
#5 Mon 09 October 2006 15:33
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: probleme requete sql
Re,
Effectivement la syntaxe IN est la plus simple.
SELECT * : renvoit tous les champs de table occupationsol
SELECT Nature : ne renverra que le champs nature
La simple quote ' ou la double " et les paranthèses c'est suivant le langage.
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#6 Mon 09 October 2006 15:43
- Christophe
- Membre
- Lieu: Gaillac
- Date d'inscription: 23 Jun 2005
- Messages: 77
Re: probleme requete sql
Bonjour,
SELECT * FROM occupationsol WHERE Nature in
("Brousaille","carrière","foret", ...) marche normalement aussi
Christophe (aussi)
Hors ligne
#7 Mon 09 October 2006 15:45
Re: probleme requete sql
Et avec tout ca, personne n'a remarqué que broussaille ca prend 2 "S" (si c'est bien orthographié dans la base, il ne sera jamais sélectionné )
Enfin bon...
Robin, avec une barbe brouZailleuse de quelques jours....
Hors ligne
#8 Mon 09 October 2006 16:23
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: probleme requete sql
Bien vu!
Comme quoi l'orthographe ... et je devrais le savoir pour avoir passer des heures à résoudre des buggs qui ne viennent que de l'orthographe différent d'une même variable ...
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#9 Wed 11 October 2006 07:56
- Fab64
- Participant occasionnel
- Lieu: Paris
- Date d'inscription: 4 Oct 2006
- Messages: 20
Re: probleme requete sql
Merci pour toutes ces informations avec ça si je m en sort pas je peux tout arreter.
Bonne journée a tous.Kiao
Fab
Hors ligne