Soruyu biraz daha açsan iyi olurdu aslında.
Anladığım kadarıyla sen bir personelin her gününü ayrı ayrı hesaplayıp bir tabloya atıyorsun.
Sonra da o tabloda bir kişi için 20 ayrı kaydın oluştuğunu görüyorsun. Sorun buysa bu 20 kaydı Gruplayıp toplam sonucu alabilirsin.
Tablonun şuna benzen bir şey olduğunu varsayalım;
Tablo Adı:Personel_Hesaplari
id -- Personel_Id --- Tarih --- Calisilan_Saat --- Ucret
----------------------------------------------------------------------
1 - 1001 - 01.06.2009 - 8 - 28,50
2 - 1001 - 02.06.2009 - 4 - 14,25
3 - 1001 - 03.06.2009 - 7 - 24,94
.
.
20 - 1001 - 30.06.2009 - 8 - 28,50
21 - 1342 - 01.06.2009 - 8 - 30,00
22 - 1342 - 02.06.2009 - 8 - 30,00
.
.
Tabloda her personelin her günü ayrı ayrı hesaplanmış.
Eğer durum bu ise Sql sorgulamasında GROUP BY komutu yardımıyla aylık toplam süre ve ücretleri hesaplayabilirsin.
Select Personel_Id, Sum(Calisilan_Saat) as ToplamSaat, Sum(Ucret) as ToplamUcret from Personel_Hesapları
where (Personel_Id="1001") and (Tarih between "2009-06-01" and "2009-06-30") GROUP BY Personel_Id
Tabi MSSQL de sql sorgulaması böylemedir bilmiyorum. Ufak tefek değişiklikler olabilir.