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

SQL Oracle Discussion :

Comparaison de date avec la date du système et récupération d'une ligne


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Par défaut Comparaison de date avec la date du système et récupération d'une ligne
    Bonjour à tous,

    Je suis tout nouveau sur le site, voici mon problème :

    Tout d'abord, voici ma table


    13325 20/12/08 30/06/09 S7D2
    13325 16/05/14 31/08/16 6F2
    13325 01/07/09 15/05/14 6E2

    colonne 1 : matricule
    colonne 2 : date de début
    colonne 3: date de fin
    colonne 4 : affectation


    J'aimerais récupérer la dernière ligne car la date du système ( 14/05/2014 ) est comprise entre le 01/07/09 ( date de début) et le 15/05/14 ( date de fin) .

    Le Résultat de la requête serait :

    13325 01/07/09 15/05/14 6E2



    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    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 134
    Par défaut
    Peux-tu nous montrer la requête que tu as commencée pour que nous t'aidions à l'améliorer ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Par défaut
    Bonjour,

    Pour récupérer la date du système, est-ce bien SYSDATE ?

    ====> Voici ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT DISTINCT 
    EMP.matricule, 
    ASS.date_deb,
    ASS.date_fin, 
    ORG.affectation 
     
    FROM EMP,ASS,ORG,TABLE_DE_FAIT 
     
    where  EMP.EMP_KEY=TABLE_DE_FAIT.EMP_KEY
    AND ASS.ASS_KEY =TABLE_DE_FAIT.ASS_KEY
    AND ORG.ORG_KEY = TABLE_DE_FAIT.ORG_KEY
     
    AND EMP.matricule='13325'
    ====> Résultat de la requête :

    13325 20/12/08 30/06/09 S7D2
    13325 16/05/14 31/08/16 6F2
    13325 01/07/09 15/05/14 6E2
    ====> je veux récupérer la ligne
    13325 01/07/09 15/05/14 6E2
    car nous sommes le 14/05/2014


    A la date du 16/05/2014, la ligne qui devrait ressortir est :
    13325 16/05/14 31/08/16 6F2

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Par défaut
    tu remarqueras que mes conditions de jointure ne sont pas optimales...mais si j'ai le résultat voulu c'est déjà un grand pas

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2009
    Messages : 20
    Par défaut
    si tes champs ASS.date_deb et ASS.date_fin sont bien au format DATE, voila ce que tu dois faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT 
    EMP.matricule, 
    ASS.date_deb,
    ASS.date_fin, 
    ORG.affectation 
    FROM EMP,ASS,ORG,TABLE_DE_FAIT 
    where EMP.EMP_KEY=TABLE_DE_FAIT.EMP_KEY
    AND ASS.ASS_KEY =TABLE_DE_FAIT.ASS_KEY
    AND ORG.ORG_KEY = TABLE_DE_FAIT.ORG_KEY
    AND EMP.matricule='13325'
    AND SYSDATE BETWEEN ASS.date_deb AND ASS.date_fin;

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 7
    Par défaut
    J'obtiens bien le résultat demandé. Merci pour votre aide.

    J'ai néanmoins quelques questions supplémentaires concernant cette requête :

    -Cette requête est-elle optimale ? dans le cas où elle ne serait pas optimale, est-il possible de l'optimiser et comment ?

    -Ces conditions de jointure permettent bien de récupérer toutes les lignes, n'est-ce pas ? Autrement dit je ne risquerais pas de perdre des lignes ?

    Merci pour vos retours.

Discussions similaires

  1. Comparaison Date avec Dimension Date
    Par yoyo_le_landais dans le forum QlikView
    Réponses: 7
    Dernier message: 23/01/2013, 08h26
  2. Réponses: 5
    Dernier message: 20/11/2008, 11h20
  3. problème avec les dates différente de date système
    Par bernard VIALA dans le forum IHM
    Réponses: 3
    Dernier message: 15/11/2008, 08h55
  4. [MySQL] comparaison d'une date avec la date système
    Par kawther dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/12/2007, 03h05
  5. [Oracle] Comparaison d'une date avec la date du jour.
    Par mika0102 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/10/2007, 11h52

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