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 :

faire varier une condition


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Points : 324
    Points
    324
    Par défaut faire varier une condition
    Bonjour,

    Voila mon petit souci...

    J'ai une requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select cle
    FROM PLANIFPATIENTS
    WHERE  decode(length(datemodif),7,'PAS UNE DATE',to_char(to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'),'yyyy/mm/dd hh24:mi:ss'))!='PAS UNE DATE'
    AND (lieudurepas!='3' AND lieudurepas!='-1' )
    GROUP BY cle
    HAVING  MAX (to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'))<sysdate+12/24
    ;
    Je voudrai lorsque ma requete est executée avant 12h00 ce soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HAVING  MAX (to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'))<sysdate+12/24
    sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HAVING  MAX (to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'))<sysdate+18/24
    merci de votre aide

  2. #2
    Membre averti Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Points : 324
    Points
    324
    Par défaut
    Pour infos voila ce que j'ai essayé de faire..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    select cle
    FROM PLANIFPATIENTS
    WHERE  decode(length(datemodif),7,'PAS UNE DATE',to_char(to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'),'yyyy/mm/dd hh24:mi:ss'))!='PAS UNE DATE'
    AND (lieudurepas!='3' AND lieudurepas!='-1' )
    GROUP BY cle
    HAVING 
    	CASE 
    	WHEN to_char(sysdate,'hh24:mi:ss')<='12:00:00'  THEN  MAX (to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'))<sysdate+12/24
    	WHEN to_char(sysdate,'hh24:mi:ss')>'12:00:00'  THEN  MAX (to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'))<sysdate+18/24
    	END
    ;

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 111
    Points : 28 459
    Points
    28 459
    Par défaut
    Et comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select cle
    FROM PLANIFPATIENTS
    WHERE  decode(length(datemodif),7,'PAS UNE DATE',to_char(to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss'),'yyyy/mm/dd hh24:mi:ss'))!='PAS UNE DATE'
    AND (lieudurepas!='3' AND lieudurepas!='-1' )
    GROUP BY cle
    HAVING MAX (to_date(datemodif||heuremodif,'yyyymmddhh24:mi:ss')) < sysdate
       - CASE 
        WHEN to_char(sysdate,'hh24:mi:ss')<='12:00:00'  
           THEN  12/24
        ELSE  18/24
        END
    ;

  4. #4
    Membre averti Avatar de PAYASS59
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2005
    Messages : 755
    Points : 324
    Points
    324
    Par défaut
    ca fonctionne je test voir si la cohérence des résultats est là...

    merci....

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

Discussions similaires

  1. [XL-2007] comment faire varier une variable
    Par lysander31 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 22/04/2014, 12h50
  2. faire varier une distance entre deux objets
    Par Neuropsy dans le forum VB.NET
    Réponses: 1
    Dernier message: 05/11/2009, 09h44
  3. [MySQL] Faire varier une liste en fonction d'une autre dans un formulaire
    Par lemirandais dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/01/2009, 22h45
  4. [Dates] Faire varier une donnée toutes les 30 minutes
    Par esther60 dans le forum Langage
    Réponses: 7
    Dernier message: 18/04/2008, 20h18
  5. [Macro de Recherche] Comment faire varier une 4eme variable
    Par Vin_SuFu_R@T dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/01/2008, 12h35

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