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

Requêtes et SQL. Discussion :

[SQL] Caracteres spéciaux "[" et "]"


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut [SQL] Caracteres spéciaux "[" et "]"
    Bonjour,

    J'ai une requete de ce genre :
    [CODE = sql]
    SELECT T.ID, Table2.Libelle
    FROM Table2,
    [
    SELECT ID
    FROM Matable
    WHERE ID LIKE 'A[0-9]%'
    ]. AS T
    WHERE T.ID = Table2.ID;
    [/CODE]

    Je tombe sur une erreur car access est perdu entre les '[' du WHERE et ceux du FROM.
    Y at-il un caractère de protection à mettre ? Si oui, lequel, si non comment faire ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Bonjour,

    les sous-requêtes se mettent entre parenthèses.
    Je ne sais pas pourquoi Access met les sous-requêtes entre [ et ]. lorsqu'il sauve une requête.

    Remplace [ par ( et ]. par ).

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT T.ID, Table2.Libelle
    FROM Table2,
    (
    SELECT ID
    FROM Matable
    WHERE ID LIKE 'A[0-9]%'
    ) AS T
    WHERE T.ID = Table2.ID;
    A+

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 113
    Points : 61
    Points
    61
    Par défaut
    Superrrrrrrrrrrr !

    Merci beaucoup LedZeppII ...

    Remplace [ par ( et ]. par ).
    Effectivement ca permet de faire fonctionner ma requète.

    Cependant, pour ma culture personnelle, ne saurais-tu pas s'il y a un caractère de protection des caractères spéciaux ?

    A plus

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 768
    Points
    7 768
    Par défaut
    Les seuls que je connaisse avec like sont [ et ] justement

    Rechercher les enregistrements pour lesquels champ1 contient [
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Table1 WHERE Champ1 LIKE '%[[]%'
    Rechercher les enregistrements pour lesquels champ1 contient %
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM Table1 WHERE Champ1 LIKE '%[%]%'
    C'est tout ce que je connais.

    A propos des sous-requêtes avec le moteur de base de données JET, dans tout ce que j'ai pu lire (doc. MS) ,
    elles sont mises dans le SELECT (Select Max(Chp) FROM table) ou le WHERE (ANY, ALL, IN, EXISTS).
    Par exemple ici
    Bien que cela fonctionne dans le FROM

    A+

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

Discussions similaires

  1. [SQL] Caractere spéciaux °
    Par zoreil dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/07/2006, 13h50

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