EDIT : Je modifie puisque j'ai fait une erreur dans mon scénario...
Bonjour,
j'ai besoin d'extraire des données de deux tables pour identifier les usagers d'une application et la date de leur dernière connexion. Nonobstant le besoin, j'aimerais bien savoir comment construire la requête SQL. J'ai essayé beaucoup de choses mais rien ne fonctionne exactement comme je le souhaite. Voici donc l'environnement.
Deux tables : USAGERS et ACTIVITES
La table USAGERS contient le nom de tout les usagers de l'application dans le champs USERNAME.
La table ACTIVITES contient deux champs important, le type d'activité (ACTIVITE_TYPE) qui peut comprendre plusieurs valeurs dépendant de l'activité, un champ TIMESTAMP qui donne la date et l'heure de l'activité et d'autres champ qui ne sont pas important. Donc, un usager qui ne s'est jamais connecté n'aura aucune entrée dans la table ACTIVITES et les autres auront une entrée pour chaque nouvelle activité (APP, LOGON, LOGOFF, par exemple).
Maintenant, les conditions :
Je dois extraire le champ USERNAME de TOUT les usagers de la table USAGERS.
Je dois extraire, pour chaque USERNAME de la table USAGERS, la plus haute valeur du champ TIMESTAMP pour les ACTIVITE_TYPE = LOGON, si elle est présente.
Jusqu'à présent, j'arrive à sortir les données correctement si les deux tables contiennent le même USERNAME, dès qu'un usager n'est pas présent dans la table ACTIVITES, ça fonctionne plus.
Voilà et merci de votre temps.
Partager