Requête SQL

rabdo Messages postés 17 Statut Membre -  
 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

  1. jee pee Messages postés 9445 Date d'inscription   Statut Modérateur Dernière intervention   9 984
     
    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
    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