Bir tablom var alanlar şu şekilde
Kod: Tümünü seç
PERS_ID INTEGER,
TCKIMLIKNO VARCHAR (16),
SICILNO VARCHAR (16),
ADI VARCHAR (20),
SOYADI VARCHAR (20),
BABAADI VARCHAR (20),
CINSIYET VARCHAR (1),
UYRUGU VARCHAR (15),
DOGUMYER VARCHAR (20),
DOGUMTAR DATE,
IKAMADRES VARCHAR (35),
IKAMADRES2 VARCHAR (35),
IKAMADRES3 VARCHAR (35),
POSTAKOD VARCHAR (6),
EVTEL VARCHAR (11),
CEPTEL VARCHAR (11),
OGRENIM VARCHAR (15),
ISEGIRISTAR DATE,
IZINGUNSAY INTEGER,
YAZDIR SMALLINT,
POGS1 SMALLINT,
POGS2 SMALLINT,
POGS3 SMALLINT,
POGS4 SMALLINT,
POGS5 SMALLINT,
POGS6 SMALLINT,
POGS7 SMALLINT,
POGS8 SMALLINT,
POGS9 SMALLINT,
POGS10 SMALLINT,
POGS11 SMALLINT,
POGS12 SMALLINT,
ISTIHDAMDRM VARCHAR (10),
SICIL VARCHAR (16))
Buradaki POGS alanının yanındaki rakamlar ayları ifade ediyor,Her bir sigortalı için prim ödeme gün sayıları bunlar. Öyle bir sorgu yazmalıyım ki örneğin ocak ayında bu sorguyu çağırdığımızda ocak dahil olmak üzere geriye doğru toplam en az 120 gün tutana kadar bana kayıtları seçsin. Bir örnek vereyim
kişi 12. Ayda:30 gün
11. Ayda:30 gün
10. Ayda:28 gün
09. Ayda:28 gün
08. Ayda:30 gün primi ödenmiş olsun sorguyu bu ay için yaptığımızda dönecek sonuç şu olmalı(her kişi için)
sicilno adı soyadı ................ POGS12 POGS11 POGS10 POGS09 POGS08
------- ---- ------- --------- -------- --------- -------- --------
12345 ahmet ak 30 30 28 28 30
yani eğer 10. ve 9. ayda 30 gün olsaydı bana pogs08 i vermesin
kullandığım veritabanı interbase
ben stored procedure ile olabileceğini düşünüyorum ama sayısız denemem sonuçsuz kaldı, farklı bir bakış açısına ihtiyacım var.
herkese saygılarımla..