Ik heb 2 tabellen met daarin de login en loguit tijden van gebruikers. Nu wil ik een overzicht van wanneer iemand is ingelogd en uiteraard ook weer uitgelogd.
de tabellen:
Logon:
Logooff:
Ik heb me dus 2x aangemeld en 1x afgemeld ( pc een keer geherstart )
nu gebruik ik de volgende sql code:
Ik verwacht het volgende resultaat:
maar krijgt helaas dit:
Het resultaat opzich is wel logisch, immer de gebruikers en datum moeten overeen komen. Maar hoe kan ik er nou voor zorgen dat een record uit 1 van de tabellen maar 1x gebruikt mag worden. DISTINCT werkt hier niet omdat de uitkomst ( rij opzich ) uniek is.
Iemand een idee wat ik hier fout doe?
de tabellen:
Logon:
| Username | Time | Date |
| Ruud | 10:14:47 | 4-2-2008 |
| Ruud | 10:40:46 | 4-2-2008 |
Logooff:
| Username | Time | Date |
| Ruud | 10:15:48 | 4-2-2008 |
Ik heb me dus 2x aangemeld en 1x afgemeld ( pc een keer geherstart )
nu gebruik ik de volgende sql code:
code:
1
2
3
4
5
| SELECT logon.user, logon.time AS logon_time, logon.date AS logon_date, logoff.time AS logoff_time, logoff.date AS logoff_date FROM logon LEFT JOIN logoff ON logon.user = logoff.user WHERE logon.date = logoff.date AND logon.user = 'ruud' |
Ik verwacht het volgende resultaat:
| Username | logon_time | logon_date | logoff_time | logoff_date |
| Ruud | 10:14:47 | 4-2-2008 | 10:15:48 | 4-2-2008 |
| Ruud | 10:40:46 | 4-2-2008 |
maar krijgt helaas dit:
| Username | logon_time | logon_date | logoff_time | logoff_date |
| Ruud | 10:14:47 | 4-2-2008 | 10:15:48 | 4-2-2008 |
| Ruud | 10:40:46 | 4-2-2008 | 10:15:48 | 4-2-2008 |
Het resultaat opzich is wel logisch, immer de gebruikers en datum moeten overeen komen. Maar hoe kan ik er nou voor zorgen dat een record uit 1 van de tabellen maar 1x gebruikt mag worden. DISTINCT werkt hier niet omdat de uitkomst ( rij opzich ) uniek is.
Iemand een idee wat ik hier fout doe?