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 MySQL Discussion :

Pb avec variable


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 889
    Par défaut Pb avec variable
    Bonjour

    Je souhaite numéroter les lignes du résultat d'une requête

    Dans la FAQ j'ai trouvé l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SET @currentRow=0;
    SELECT @currentRow:=@currentRow+1 AS num_ligne, colonne1, colonne2, ...
    FROM nom_table
    WHERE ...
    ORDER BY colonne1, colonne2, ...
    que j'ai transformé en une requête simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SET @currentRow=0;
    SELECT @currentRow:=@currentRow+1 AS num_ligne,
      agt_code
    FROM agent
    order by agt_code
    Quand je l'exécute dans le Query Browser ça ne marche pas.
    J'ai le résultat suivant :
    No_lig-----agt_code
    Null..........valeur
    Null..........valeur
    ...

    Si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SET @NoLig=1;
    SELECT
      @NoLig AS No_lig, ...
    Résultat ça marche pas : No_lig toujours à Null

    Si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SET @NoLig=0;
    SELECT
      @NoLig:=1 AS No_lig, ...
    Résultat ça marche : No_lig toujours à 1

    Je fais :
    SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3

    Résultat ça marche :
    @t1:=(@t2:=1)+@t3:=4-----@t1-----@t2-----@t3
    5......................................5...........1...........4

    Je fais :
    SET @t2=1,@t3:=4;
    SELECT @t1:=@t2+@t3,@t1,@t2,@t3

    Résultat ça marche pas :
    @t1:=(@t2:=1)+@t3:=4-----@t1-----@t2-----@t3
    Null...................................Null........Null........Null

    ???

    Je ne suis pas familiarisé à l'utilisation des variables dans les requêtes et je dois sans doute faire une erreur quelque part. Mais j'ai beau multiplié les essais et mes recherches sur le net, je n'arrive à rien .

    En vous remerciant d'avance de vos lumières

  2. #2
    Membre Expert Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 889
    Par défaut
    J'ai installé la version actuelle de Workbench et la requête fonctionne parfaitement.
    Le problème provenait de la version de Query Browser que j'utilisais (v1.2.12)

    Mon problème est résolu

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

Discussions similaires

  1. Requête avec variable incrémentée sur changement de clé.
    Par souellet dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/09/2005, 22h47
  2. Merge avec variables
    Par kluh dans le forum Oracle
    Réponses: 18
    Dernier message: 25/07/2005, 14h31
  3. [AS2] Pb avec variables dans syntaxe
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 05/07/2005, 11h28
  4. Boucle avec variable à incrémenter
    Par snoop dans le forum Linux
    Réponses: 2
    Dernier message: 19/03/2004, 11h07
  5. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20

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