(27/03/2020, 15:21)berduş yazdı: bence tablo yapınızı değiştirip hastalık kısmı için ayrı tablo oluşturmalısınız yada her defasında geçi bir tablo oluşturup orada hesaplama yapmalısınız
personel tablosu, hastalık adı tablosu ve personel hastalık tablosu oluşturup ilişkilendirmeliisiniz
bende düşündüm ama maalesef elimde hazır halde bu tablo var dediğim gibi yılların birikimi olarak oluşturulmuş bir tablo ve çalışan sayısı 5000 e yakın
sn. @
feraz ın yardımıyla çoğu bitmiş durumda sadece tarih filtrelemede isabetli bir
Sql yazmaya kaldı
bu gibi durumlarda sn. @
berduş berduşun dediği gibi id leri olan bir kronik hastalık tablosu olsa güzel olur tablo ilişkilendirip sadece id lerini personel tablosuna eklemek yeterli olmalı
hem eksoz gibi kelimelerin 10 farklı şekilde girilmesi önlenmiş olur hemde daha az yer kaplamış olur
ama bunun da sıkıntısı kronik tablosuna bir şey olsa tüm kronik hastalıklar bilgisi personel tablosunda çöpe dönüşecek
o yüzden hali hazırda bilgileri girilmiş bir tabloda olunca bunu kullanmak zorundayım
her çalışanın ilk ve son tarihe göre 6 ihtimalden birine dahil
1.ihtimal :başlama ve bitiş tarihi ilk ve son tarihden önce vb şekilde
diğerleride şekilden daha iyi anlaşılır
![[Resim: do.php?img=9959]](https://resim.accesstr.net/do.php?img=9959)
bizim için sayısını bulmamız gerekenler 2,3,4,5. ihtimale sahip olanlar
yani bir gün bile olsa ilk ve son tarih arasında çalışmış olanların sayısını bulmamız gerekir değil mi
şimdi gelelim
Sql cümlemizi yazmaya
bu şekilde yazarsak 2,3,4,5. ihtimalleri kapsar mı
eğer 1. ve 6 ihtimalleri içermeyenleri bulursak sanırım sorun çözülecek yani
1. ihtimal için (bastarih < ilktarih) And (bittarih < ilktarih)
6. ihtimal için (bastarih > sontarih) And (bittarih > sontarih)
bu iki ihtimali içermeyen Sql cümlesi nasıl olmalı
şöyle desek nasıl olur
bittarih >= bastarih olmak şartıyla
(bittarih >= ilktarih) And (bastarih <= sontarih)
bunu
Sql cümlesi olarak ifade edersek