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 :

Aide sur Requête SQL


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    422
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 422
    Points : 174
    Points
    174
    Par défaut Aide sur Requête SQL
    Salut,

    Voila j'ai une requete de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from matable where monchamp=@critere
    Le problème, c'est que parfois j'ai besoin de retourner tous les enregistrements de la table
    Existe t-il un moyen de garder la meme requete et donner à @critere une valeur "spéciale' pour retourner tous les enregistrements. Une sorte de valeur ALL ou un truc comme ca.

    ( C'est un exemple très simplifié )

    Merci

  2. #2
    Membre averti
    Avatar de mohamed
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 217
    Points : 393
    Points
    393
    Par défaut
    Hello!
    Ceux que tu veux faire n'est pas posible cat tantot tu vas utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "select champ from table"
    et tantot tu vas utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "select champ from table where...."
    Je te propose d'utiliser un IF like this:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE PROCEDURE
    (
    @critere type,
    @choix integer
    )
    AS
    BEGIN
    IF @choix = 1
    select * from matable
    IF @choix = 2
    select * from matable where monchamp=@critere
    END

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Je n'ai pas testé sur SQL server mais à l'époque sous oracle je faisais des choses du genre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * from matable 
    where @critere is null OR  
    monchamp=@critere
    A toi de tester.
    A+
    Soazig

  4. #4
    Membre habitué
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    422
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 422
    Points : 174
    Points
    174
    Par défaut
    merci soazig ca marche nikel sous sql server, je n'y avais pas pensé !

    @+

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

Discussions similaires

  1. Aide sur requête SQL
    Par Marco94 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 08/07/2010, 17h53
  2. Besoin d'aide sur requête Sql
    Par Sekigawa dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 31/12/2009, 15h14
  3. Aide sur requête SQL
    Par Pschittt dans le forum Langage SQL
    Réponses: 8
    Dernier message: 06/11/2008, 14h56
  4. Aide sur requête SQL
    Par Mister Paul dans le forum Langage SQL
    Réponses: 14
    Dernier message: 27/10/2008, 11h22
  5. aide sur requête sql
    Par Vodkha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 30/08/2005, 17h53

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