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

MS SQL Server Discussion :

Question de syntaxe novice


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2010
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Question de syntaxe novice
    Bonjour, je débute en Transact SQL (j'ai commencé hier..), et je ne parviens pas a faire une requête du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT champ FROM table
    IF champ != 'truc'
    BEGIN
    /* Fais pleins de supers trucs */
    END
    ELSE
    BEGIN
    /* Fais autre chose */
    END
    Apparemment je ne peux pas utiliser directement le terme 'champ'. Sur internet, en ce qui concerne les comparaisons, j'ai constaté que certains créent une variable, et utilisent une commande du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DECLARE @supervariable varchar(30)
    SELECT @supervariable = champ FROM table
    IF @supervariable != 'truc'
    [ETC...]
    Bref, c'est quelque chose de bien simple que je demande :). Comment faire une comparaison entre la valeur d'un champ qu'on a récupéré et une autre valeur quelconque ?

  2. #2
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2010
    Messages : 1 278
    Points : 2 797
    Points
    2 797
    Etienne ZINZINDOHOUE
    Billets-Articles

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    mars 2004
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 391
    Points : 346
    Points
    346
    Par défaut
    Bonjour

    Essaye çà - > Click ici

    cordialement

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2010
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    > zinzineti

    J'ai édité mon message en insérant des balises de code.
    Pour ce qui est de vous faire créer des tables pour vous faire essayer, je n'en vois pas l'utilité. Le problème est très simple, si simple que quelqu'un ayant la réponse n'en a pas besoin.

    > ricky78

    Réponse pertinente. Je me cite :
    Sur internet, en ce qui concerne les comparaisons, j'ai constaté que certains créent une variable, et utilisent une commande du type :
    A mon avis, ca veut dire que j'ai déjà fait des recherches, et beaucoup. Mais félicitations, vous brillez par l'inutilité de votre réponse. Grâce à ce topic, vous avez néanmoins pu ressortir ce gadget google que vous adorez tellement. De plus, j'attache beaucoup d'importance a une réponse de 6 mots avec 2 fautes d'orthographe.

    Je vais décrire ma question :

    Je récupère une ligne, dans laquelle j'ai le champ 'monchamp'.
    Je voudrais pouvoir comparer 'monchamp'.
    Complexe n'est-il pas ?

    Mais après ca, si vous avez un tutoriel instructif à me conseiller, n'hésitez pas, je n'en ai pas trouvé.

    Merci à l'avance de toute réponse constructive.

  5. #5
    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
    Points : 13 070
    Points
    13 070
    Par défaut
    Bonjour

    Quel est le problème avec la solution que vous avez trouvée ?

    Voulez vous faire votre IF pour toutes les lignes renvoyées par votre requete ?
    dans ce cas utilisez les curseurs (enfin en fonction de ce que voulez faire, il y aura surement mieux...)

    Sinon, si votre requete ne vous retourne qu'une seule ligne, vous pouvez aussi faire directement
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    IF( (SELECT MaColonne FROM MaTable WHERE MonID = 1) != 'truc')
    BEGIN
    ...
    END
    ELSE
    BEGIN
    ... 
    END

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2010
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup je vais essayer.

    EDIT: Je n'ai pas l'habitude des SELECT imbriqués dans d'autres instructions, mais vous avez surement raison. Oui ma requête ne retourne qu'un champ et qu'une ligne, donc votre solution m'a l'air tout à fait appropriée.
    Je vous remercie, je met le topic en 'résolu'.

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

Discussions similaires

  1. Debutant - Question de syntaxe "::" seuls devant u
    Par Caille dans le forum Débuter
    Réponses: 3
    Dernier message: 08/02/2006, 15h59
  2. Question de syntaxe
    Par dafalri dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 13/12/2005, 20h57
  3. [XML] Questions de syntaxe
    Par ghohm dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 03/11/2005, 12h08
  4. question sur syntaxe d'une requete
    Par sparis dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 29/09/2005, 11h58
  5. [C linux makefile] question de syntaxe
    Par Ultros dans le forum Systèmes de compilation
    Réponses: 7
    Dernier message: 09/04/2004, 07h58

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