Ik heb een tabel met volgende velden:
ID | NAAM | WAARDE
01 p01 100
02 p02 200
03 p03 300
Hierin staan een reeks parameters met hun waarde
Telkens wanneer er een waarde wordt geupdate zorgt een trigger ervoor dat de inhoud van dat record naar een andere tabel wordt gekopieerd.
Die tabel heeft volgende velden:
ID | NAAM | WAARDE | GEWIJZIGDOP
01 p01 100 01/02/2003
01 p01 280 05/02/2003
03 p03 300 03/02/2003
01 p01 110 03/02/2003
02 p02 200 06/02/2003
02 p02 350 04/02/2003
Deze tabel heeft geen PK, het ID veld bevat de waarde van de ID uit de eerste tabel en kan dus meerdere keren voorkomen. GEWIJZIGDOP bevat het tijdstip van wijziging.
Hoe is het mogelijk om voor een bepaald tijdstip de recentste waardes van alle parameters terug te krijgen uit deze tabel? Het kan zijn dat voor een bepaald tijdstip geen entry is in de tabel, dan moet de waarde het laatst gewijzigd, voor dat tijdstip, worden teruggegeven.
Elke parameter mag maar 1 keer voorkomen in het resultaat. Met DISTINCT te gebruiken lukt het me niet
Wanneer ik de parameters met hun waardes wil voor tijdstip "04/02/2003", zou ik dan volgend resultaat moeten krijgen:
01 p01 110 03/02/2003
02 p02 350 04/02/2003
03 p03 300 03/02/2003
Het is trouwens een bestaande Oracle8 database, waaraan niets kan gewijzigd worden.
ID | NAAM | WAARDE
01 p01 100
02 p02 200
03 p03 300
Hierin staan een reeks parameters met hun waarde
Telkens wanneer er een waarde wordt geupdate zorgt een trigger ervoor dat de inhoud van dat record naar een andere tabel wordt gekopieerd.
Die tabel heeft volgende velden:
ID | NAAM | WAARDE | GEWIJZIGDOP
01 p01 100 01/02/2003
01 p01 280 05/02/2003
03 p03 300 03/02/2003
01 p01 110 03/02/2003
02 p02 200 06/02/2003
02 p02 350 04/02/2003
Deze tabel heeft geen PK, het ID veld bevat de waarde van de ID uit de eerste tabel en kan dus meerdere keren voorkomen. GEWIJZIGDOP bevat het tijdstip van wijziging.
Hoe is het mogelijk om voor een bepaald tijdstip de recentste waardes van alle parameters terug te krijgen uit deze tabel? Het kan zijn dat voor een bepaald tijdstip geen entry is in de tabel, dan moet de waarde het laatst gewijzigd, voor dat tijdstip, worden teruggegeven.
Elke parameter mag maar 1 keer voorkomen in het resultaat. Met DISTINCT te gebruiken lukt het me niet
Wanneer ik de parameters met hun waardes wil voor tijdstip "04/02/2003", zou ik dan volgend resultaat moeten krijgen:
01 p01 110 03/02/2003
02 p02 350 04/02/2003
03 p03 300 03/02/2003
Het is trouwens een bestaande Oracle8 database, waaraan niets kan gewijzigd worden.
[ Voor 27% gewijzigd door Verwijderd op 12-02-2003 13:17 ]