Zeig doch mal das DDL zu der Tabelle (es reichen dabei die relevanten Felder wie ID, Datum und das Feld woran man die Historie erkennen kann)
v_id - wird automatisch erhöht
v_nr - Vertragsnummer, bleibt bei jeder Änderung gleich
v_from - Vertragsdatum, wird fälschlicherweise bei jeder Änderung aktualisiert, muss jedoch immer gleich bleiben.
So solltest du jeweils den
ersten Wert bekommen, den du dann in alle anderen Datensätze reinpassten musst
SQL-Code:
SELECT v_id, v_nr, v_from
FROM vertrag
WHERE (v_nr, v_id) IN ( SELECT v_nr, MIN( v_id ) FROM vertrag GROUP BY v_nr )
Was für ein Tool hast du dir denn gebaut?
Ein kleines Tool für die Vertragsverwaltung, nichts besonderes.
Ähm ja, aber wozu war das nötig, eigentlich macht man sich dafür eine View, die nur die aktuellen Einträge zeigt und schreibst deine Änderungen (UPDATE, DELETE, INSERT) in diese View. Die INSTEAD OF Trigger kümmern sich dann um diese historische Protokollierung. Ein Tool wird dafür nicht benötigt.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)