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

Sybase Discussion :

question de requete


Sujet :

Sybase

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut question de requete
    Bonjour,

    je voudrais soumettre a la connaissance collective un problème de requête...

    prenons la requête suivante:

    select count(*)
    from Trades
    where Trades.Trade_ID = 1234
    and Trades.Trade_Sts in ('INI','SEND')

    Cette requête retourne zéro:
    - si le trade_ID 1234 n'existe pas
    - si le trade_ID=1234 existe mais avec un statut différent de INI ou SEND.

    savez vous si il est possible de construire une requête unique qui retourne:
    - NULL si Trade_ID=1234 n'existe pas
    - zero si Trade_ID=1234 existe mais avec un statut different de INI ou SEND
    - le décompte des lignes ayant Trade_ID=1234 et un statut égal a INI ou SEND

    sans passer par une solution du genre IF ELSE et 2 requetes?

    merci par avance pour vos lumières.
    Cordialement
    Jarod

  2. #2
    Membre confirmé
    Avatar de argoet
    Inscrit en
    Mai 2002
    Messages
    582
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 582
    Points : 562
    Points
    562
    Par défaut
    Je ne sais pas si la fonction "decode" existe avec sybase mais vous pouvez vous inspirez de ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select sum(decode(Trades.Trade_Sts,'INI',1,'SEND',1, 0))
    from Trades
    where Trades.Trade_ID = 1234
    Signé : Capitaine Jean-Luc Picard

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par argoet
    Je ne sais pas si la fonction "decode" existe avec sybase mais vous pouvez vous inspirez de ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select sum(decode(Trades.Trade_Sts,'INI',1,'SEND',1, 0))
    from Trades
    where Trades.Trade_ID = 1234
    excellente idee merci beaucoup

    en fait decode n'existe pas sous sybase mais le code suivant est équivalent et fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select sum(
    case
      when Trades.Trade_Sts in ('INI','SEND') then 1
      else 0
    end
    )
    from Trades
    where Trades.Trade_ID = 1234
    merci encore
    jarod

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

Discussions similaires

  1. [AC-2002] Question simple : requete ajout
    Par Sebastien1977 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 29/02/2012, 20h42
  2. Question sur requete SQL
    Par lolafrite dans le forum Langage SQL
    Réponses: 3
    Dernier message: 22/12/2009, 11h09
  3. petite question sur requete oracle SQL
    Par blaise4714 dans le forum Oracle
    Réponses: 5
    Dernier message: 29/06/2009, 16h46
  4. question sur requete SQL
    Par thomason1407 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/09/2007, 00h29
  5. question sur requete oracle?
    Par root76 dans le forum Oracle
    Réponses: 1
    Dernier message: 11/10/2006, 16h58

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