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

Langage SQL Discussion :

Création de case conditionnelle


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Points : 27
    Points
    27
    Par défaut Création de case conditionnelle
    Bonjour,

    Je dois mettre en place une règle d’identification de lignes en fonction de la règle suivante:
    Il faut que 3 des 5 conditions soient vérifiées :
    nb_appl_sort> 4
    nb_appl_entr> 4
    nb_sms_entr > 4
    nb_jrs_data > 4
    nb_appl_sort > 4

    Alors je sais pas si un case est approprié. J'essaie de faire une requête suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    select A.*,
     
    case when 
    nb_appl_sort > 4 and nb_appl_entr > 4 and nb_sms_sort > 4 
    or  nb_appl_sort > 4 and  nb_sms_entr > 4 and  nb_jrs_data >4 
    or nb_appl_sort > 4 and nb_appl_entr > 4 and nb_jrs_data > 4 
     or  nb_appl_sort > 4 and  nb_sms_entr > 4 and  nb_jrs_data >4 
    or nb_appl_entr > 4 and nb_sms_sort > 4 or nb_appl_sort > 4 
    or nb_appl_entr > 4 and nb_sms_sort > 4 or nb_jrs_data >4
    or nb_appl_entr > 4 and nb_sms_sort > 4 or nb_sms_entr > 4
    or nb_appl_entr > 4 and nb_appl_sort > 4 or nb_sms_entr > 4
    or nb_appl_entr > 4 and nb_appl_sort > 4 or nb_jrs_data > 4
    or nb_sms_sort > 4 and  nb_sms_entr > 4 and nb_jrs_data >4 etc  ...
     then 'o' else 'N' end Flag
    from matable A
    resultat sur une ligne

    Soit :

    nb_jrs_data =null
    nb_appl_sort =null
    nb_appl_entr =8
    nb_sms_entr =2
    nb_sms_sort =5
    Flag =O


    nb_jrs_data nb_appl_sort nb_appl_entr nb_sms_entr nb_sms_sort Flag
    null null 8 2 5 O


    Or il n'y a qu'un seul critère qui est vérifié et le flag devrait être N au lieu de O => du coup un souci forcément dans mon Case

    Est ce que quelqu'un aurait une solution à mon problème?
    merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Pour commencer, quand on mixe des AND et des OR, il est plus que fortement conseillé de mettre des parenthèses…
    Mais dans ton cas je ferai plutôt un truc du genre:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    …
    case when (case when nb_appl_sort> 4 then 1 else 0 end) + 
    (case when nb_appl_entr> 4 then 1 else 0 end) + 
    (case nb_sms_entr > 4 then 1 else 0 end) + 
    (case nb_jrs_data > 4 then 1 else 0 end) + 
    (case nb_appl_sort > 4  then 1 else 0 end) >= 3 then 'O' else 'N' end)
    ...

    Tatayo.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Points : 27
    Points
    27
    Par défaut
    C'est Top!
    Merci Tatayo.

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

Discussions similaires

  1. Création de variable conditionnelle
    Par petit-ours dans le forum Macro
    Réponses: 4
    Dernier message: 19/03/2015, 17h27
  2. Création Champ case à cocher
    Par AndréPe dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 16/04/2014, 09h00
  3. [XL-2003] Création Macro VBA conditionnelle
    Par choudoudou15 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2009, 13h45
  4. Création de fichier conditionnelle ?
    Par remy77 dans le forum kettle/PDI
    Réponses: 6
    Dernier message: 01/08/2008, 13h19
  5. créations d'enregistrements conditionnels
    Par chenevert dans le forum Modélisation
    Réponses: 1
    Dernier message: 28/06/2007, 11h51

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