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 :

Sélection du dernier log


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut Sélection du dernier log
    Bonjour tout le monde,
    voila je me galère carrément sur une 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
    14
     
    SELECT
     'LOA' AS "Application",
     'LOANSAT' AS "Sub-application",
      UPPER(SUBSTR(USR_CDE_LOGIN,1,INSTR(USR_CDE_LOGIN,'.')-1)) AS "User First Name",
      UPPER(SUBSTR(USR_CDE_LOGIN,INSTR(USR_CDE_LOGIN,'.')+1)) AS "User Last Name",
      USR_CDE_LOGIN AS "User Login",
      '' AS "Department",
      '' AS "Region",
      USL_TSP_LOG AS "Last connection",
      NULL AS "Last pwd change",
      NULL AS "Info"
    FROM TSAT_USER INNER JOIN CLR_TBL_SAT_USAGE_LOG ON TSAT_USER.USR_PID_USER = CLR_TBL_SAT_USAGE_LOG.USL_PID_USER_LOGGED
    WHERE TSAT_USER.USR_IND_ACTIVE='Y' AND CLR_TBL_SAT_USAGE_LOG.USL_EVT_MNEMO_ID='LOGIN'
    Alors j'explique un peu mon problème. La requete que je viens de coller marche trés bien. Cependant, la table CLR_TBL_SAT_USAGE_LOG contient les logs des users sur les 2 derniers mois.

    Ce que je voudrais faire c'est afficher seulement pour chaque utilisateur (TSAT_USER.USR_PID_USER) sont dernier log, ce qui correspond au champs CLR_TBL_SAT_USAGE_LOG.USL_TSP_LOG.

    Quelqu'un pourrait il m'aider un petit coup please?

    Merci

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    et t'as une date ou un moyen de voir l'ordre de génération des logs ?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    Oui, le champ que je veux récupérer est en fait la date de login, donc le champ CLR_TBL_SAT_USAGE_LOG.USL_TSP_LOG contient une date.

    Seulement, comme il y a l'historique des connexions de tous les utilisateurs, je voudrais seulement récupérer la date de derniere connexion pour chaque utilisateur.

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Regarde du coté de HAVING ou MAX en fonction analytique... fais une recherche dans le forum ça a régulièrement été fait

  5. #5
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 35
    Par défaut
    a y est, j'ai la réponse. La solution passait par un MAX:

    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
     
    SELECT
     'LOA' AS "Application",
     'LOANSAT' AS "Sub-application",
      UPPER(SUBSTR(USR_CDE_LOGIN,1,INSTR(USR_CDE_LOGIN,'.')-1)) AS "User First Name",
      UPPER(SUBSTR(USR_CDE_LOGIN,INSTR(USR_CDE_LOGIN,'.')+1)) AS "User Last Name",
      USR_CDE_LOGIN AS "User Login",
      '' AS "Department",
      '' AS "Region",
      USL_TSP_LOG AS "Last connection",
      NULL AS "Last pwd change",
      NULL AS "Info"
    FROM TSAT_USER INNER JOIN CLR_TBL_SAT_USAGE_LOG ON TSAT_USER.USR_PID_USER = CLR_TBL_SAT_USAGE_LOG.USL_PID_USER_LOGGED
    WHERE TSAT_USER.USR_IND_ACTIVE='Y' AND CLR_TBL_SAT_USAGE_LOG.USL_EVT_MNEMO_ID='LOGIN' AND 
    USL_TSP_LOG = (SELECT  MAX(USL_TSP_LOG) from CLR_TBL_SAT_USAGE_LOG WHERE TSAT_USER.USR_PID_USER = CLR_TBL_SAT_USAGE_LOG.USL_PID_USER_LOGGED )
    Merci encore

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/02/2008, 09h43
  2. sélection des derniers articles lus
    Par looping92 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 22/01/2008, 19h11
  3. ne pas sélectioner le dernier élément d'une JList
    Par barbiche dans le forum Composants
    Réponses: 1
    Dernier message: 22/05/2007, 12h04
  4. Sélection du dernier enregistrement
    Par KibitO dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/06/2006, 16h39
  5. Requête de sélection du dernier Match
    Par nerick dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/01/2006, 12h00

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