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

Développement SQL Server Discussion :

Insérer une variable dans un LIKE


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 34
    Par défaut Insérer une variable dans un LIKE
    Bonjour à tous,

    j'aimerais voir si une variable nom contient une chaine de caractères qui est variable aussi. ma requête ne me donne aucun résultat. pourriez-vous m'aider?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE table1
    SET ID1 = (SELECT max(f.ID2) FROM table2 AS f 
    WHERE table1.nom LIKE '%' + f.nom + '%'
    )
    merci

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Quel est votre SGBD ?

    ça sent le SQL Server, si c'est le cas, votre requête semble syntaxiquement correcte.
    Quand vous dites aucun résultat... est-ce qu'aucune ligne n'est mise à jour ?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 34
    Par défaut
    Effectivement il s'agit de sql server. Aucune ligne n'est mise à jour à partir de ma requête.
    Le but de ma requête est que dans ma table client j'ai un ID et un nom. exemple : ID = 100 et Nom = 'Blaise Badouda'. Lorsque le client remplit un formulaire et donne un Nom = 'Badouda', j'aimerai récupérer l'ID égal à 100 pour dire qu'il s'agit d'une meme personne.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Comme je le disais, votre syntaxe est correcte.
    Le fait qu'aucune ligne n'est mis à jour vient donc a priori des données.

    La première chose à laquelle je pense est la sensibilité à la casse à vérifier.

    Idéalement, fournissez les CREATE TABLE et un jeu d'essai sous forme de INSERT INTO(j'ai supposé que dans votre exemple, table1 contient 'blaise badouda' et table2 contient 'badouda' !?!)

  5. #5
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 34
    Par défaut
    Lorsque j'exécute la requête sans LIKE, les IDs sont mis à jour (si les noms correspondent bien)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE table1
    SET ID1 = (SELECT max(f.ID2) FROM table2 AS f 
    WHERE table1.nom = f.nom 
    )
    donc je ne pense pas que ça soit dû à la casse ou je me trompe?

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    étrange ! à moins qu'il n'y ait une espace qui traine à la fin de vos noms dans la table2

    Que vous renvoie cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM table2
    WHERE nom LIKE '% '

Discussions similaires

  1. [phpBB][2] Insérer une variable dans un fichier langue
    Par Sparktacus dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 27/11/2007, 04h54
  2. Insérer une variable dans une regex?
    Par Death83 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/05/2006, 11h28
  3. Ou et comment insérer une variable dans la requete?
    Par forzaxelah dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/05/2006, 11h33
  4. Probléme pour insérer une variable dans un champs
    Par BOUTRAIS dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 22h45
  5. Peux on insérer une variables dans une expression calculé
    Par casse.gueule dans le forum Access
    Réponses: 4
    Dernier message: 20/11/2005, 20h10

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