Self-join akan menghubungkan record saat ini dengan semua record yang memiliki tanggal kemarin. Dalam kelompok konteks ini dengan memungkinkan banyak catatan yang memiliki tanggal yang sama untuk dihitung. t1
perlu diperhitungkan secara terpisah, sehingga Gaji ditambahkan setelahnya, dan count(*) ditambahkan untuk menghitung rata-rata.
Ini Sql Fiddle beserta contohnya .
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