Połączenie samodzielne połączy aktualny rekord ze wszystkimi rekordami z datą wczorajszą. W tym kontekście grupa według pozwala na zliczenie wielu rekordów o tej samej dacie. t1
musi być rozliczany osobno, więc wynagrodzenie jest dodawane później, a count(*) jest zwiększany w celu obliczenia średniej.
select t1.ClientID,
t1.ClinetDOBs,
(t1.Slaries + sum (t2.Slaries)) / (count (*) + 1) Avg_Slaries
from table1 t1
inner join table1 t2
on t1.ClinetDOBs = dateadd(day, 1, t2.ClinetDOBs)
group by t1.ClientID,
t1.ClinetDOBs,
t1.Slaries