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 :

Requete avec condition?


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Points : 268
    Points
    268
    Par défaut Requete avec condition?
    Bonjour à tous,

    J'aimerais faire une requête qui inclut une condition.
    A savoir, j'ai plusieurs tables dont une sur laquelle je veux récupérer des infos si elles sont présentes et si ce n'est pas le cas, juste récupérer des infos d'une autre table..

    voici plus ou moins ce que je voudrais faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    IF ((SELECT COUNT(*) FROM FDS WHERE ID_Article = @idarticle) > 0)
    {
    	SELECT Article.*, Risque.CMR, FDS.Lien_FDS FROM Article INNER JOIN Risque ON Article.Code_Risque = Risque.Code_risque INNER JOIN FDS ON Article.ID_Article = FDS.ID_Article WHERE (Article.ID_Article = @idarticle) AND (FDS.Date = (SELECT MAX(Date) FROM FDS WHERE ID_Article = @idarticle))
    }
    ELSE 
    {
    	SELECT Article.*, Risque.CMR FROM Article INNER JOIN Risque ON Article.Code_Risque = Risque.Code_risque WHERE Article.ID_Article = @idarticle
    }
    En gros, je veux pas rentrer dans la deuxième clause de mon where si aucune donnée n'est présente..

    Je pense que je devrais faire cela dirrectement dans le code de mon appli, et je pourrais mais j'aurais voulu savoir si c'est faisable directement en SQL. Merci d'avance ^^

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 848
    Points : 52 966
    Points
    52 966
    Billets dans le blog
    6
    Par défaut
    Utilisez une jointure esxterne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT A.*, R.CMR, FDS.Lien_FDS 
    FROM   Article AS A 
           INNER JOIN Risque AS R
                ON A.Code_Risque = R.Code_risque 
           LEFT OUTER JOIN FDS 
                ON A.ID_Article = FDS.ID_Article 
                   AND (FDS.Date = (SELECT MAX(Date) 
                                    FROM   FDS 
                                    WHERE  ID_Article = @idarticle))             
    WHERE  A.ID_Article = @idarticle
    Pour apprendre le SQL, mon site web comme mon bouquin peuvent vous y aider !

    A +

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Points : 268
    Points
    268
    Par défaut
    Super ca marche nickel!

    J'avais déjà essayé de bidouiller avec les LEFT OUTER JOIN mais sans résultat..

    Et merci pour les infos, à l'avenir j'irais voir directement sur votre site

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

Discussions similaires

  1. requete avec condition
    Par swissmade dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 13/08/2007, 11h32
  2. Requete avec condition sur une partie de l'affichage
    Par dinver78 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/07/2007, 09h19
  3. Requete avec condition interne
    Par inge2007 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/02/2007, 14h29
  4. Calculs dans une requete avec conditions multiples
    Par Sha1966 dans le forum Access
    Réponses: 3
    Dernier message: 13/01/2006, 15h18
  5. Requete avec condition
    Par Tchinkatchuk dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/06/2005, 09h37

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