Requête SQL

rabdo Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

j'ai une table nommée "Commune" dans laquelle j'ai les champs (colonnes) suivant: ID, NOM, CODE_INSEE, CANTON, ARRONDISSEMENT, DEPART, REGION, POPUL, Geom.
j'aimerais savoir comment faire une requête qui me permette d'avoir: les communes dont les noms sont compris entre R, S et T.

lorsque je fait cette requête:
SELECT "ID","NOM", "CODE_INSEE", "POPUL"
FROM "COMMUNE"
WHERE "NOM" 'BETWEN R AND S AND T'

j'ai un message d'erreur:

ERREUR: le type « NOM » n'existe pas
LINE 3: WHERE "NOM" 'BETWEN R AND S AND T'
^


********** Erreur **********

ERREUR: le type « NOM » n'existe pas
État SQL :42704
Caractère : 67

ma requête est elle corecte ou pas j'aimerais bien savoir comment faire cette requête?

merci

1 réponse

jee pee Messages postés 41548 Date d'inscription   Statut Modérateur Dernière intervention   9 723
 
Salut,

Il faudrait que tu précises quel sgbd tu utilises, la syntaxe sql peut être différente.

Deja c'est BETWEEN et non BETWEN

Après pour moi between ne s'utilise qu'avec 2 valeurs, c'est entre A et B

Donc pour toi R et T

Et est-ce normal sur ton sql de mettre les noms des champs "ID" entre doubles cotes, c'est généralement la marque d'un champ chaine de caractères, pas du nom d'un objet.

Moi je ferais une requête comme :

SELECT ID, NOM, CODE_INSEE, POPUL
FROM COMMUNE
WHERE NOM BETWEEN 'R' AND 'TZZZZZZZZZZZZ'


cdlt

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
1
Utilisateur anonyme
 
MS Sql server accepte qu'on met les noms de champs entre double cotes mais pas une clause comme between ce qu'il fait que ça ligne d'erreur peut être accepter comme suite:

WHERE "NOM" BETWEEN 'R' AND 'TZZZZZZZZZZZZ'

et non tel qu'il a ecrit (WHERE "NOM" 'BETWEN R AND S AND T' )

mais comme vous dites il faut connaitre le SGBD bien sur.
0