Je veux revenir en arrière sur chaque enregistrement pour trouver tous ses états. La table des étudiants contient uniquement les valeurs mises à jour, mais l'historique des étudiants contient l'ancienne valeur pour les colonnes mises à jour.
create table student (
id number(6) primary key,
name varchar2(50),
city varchar2(50),
address varchar2(100),
createdDateTime date,
updatedDatetime date
);
insert into student values(1,'abc1','abc1','abc1','09-Jan-20','12-Jan-20');
insert into student values(2,'pqr','pqr','pqr','09-Jan-20',null);
table des étudiants-
ID Name City Address Create_time UpdatedTime
1 abc1 abc1 abc1 09-Jan-20 12-Jan-20
2 pqr pqr pqr 09-Jan-20 null
create table studentHistory (
id number(6) ,
name varchar2(50),
city varchar2(50),
address varchar2(100),
DatetimeCreated date
);
insert into StudentHistory values(1,null,'abc',null,'10-Jan-20');
insert into StudentHistory values(1,'abc',null,null,'11-Jan-20');
insert into StudentHistory values(1,null,null,'abc','12-Jan-20');
Tableau des antécédents des élèves-
ID Name City Address DatetimeCreated
1 null abc null 10-Jan-20
1 abc null null 11-Jan-20
1 null null abc 12-Jan-20
La sortie requise sera chaque étape d'un enregistrement unique.
ID Name City Address DatetimeCreated LastUpdated
1 abc abc abc 09-Jan-20 null
1 abc abc1 abc 09-Jan-20 10-Jan-20
1 abc1 abc1 abc 09-Jan-20 11-Jan-20
1 abc1 abc1 abc1 09-Jan-20 12-Jan-20
2 pqr pqr pqr 09-Jan-20 null