Forum
Merhaba arkadaşlar. Şirketimizde personel giriş ve çıkışlarda kart basıyor. Bende geç giriş ve çıkışları ve gün içerisinde kart basmayaları takip ediyorum.
Aşağıda 3 adet tablo var. Hareket tablosuna sadece kart basan hareketler geliyor. Kart basmayanları orada göremiyorum.
Benim istediğim Bir sicile ait Aylık rapor aldığımda o sicilin bastığı kartların yanında basmadığı günleri de görmek. Yaptığım tüm sorgularımda HAREKET tablosunda hareket görünen kayıtlar geliyor. Sicile ait bir günde hareket kaydı yoksa göremiyorum. Böyle olunca da kontrol zorlaşıyor benim için.
Günlerdir bunun için uğraşıyorum. Yardımcı olurmusunuz?
dbo.GUNLER | dbo.HAREKET | dbo.SICILLER | |||||||
TARIH | GUNLER | SICILNO | KABULTARIHI | KABULSAATI | HAREKET | SICILNO | ADISOYADI | ||
20120101 | PAZAR | 00005 | 20120101 | 09:00 | G | 00001 | ASD | ||
20120102 | PAZARTESİ | 00006 | 20120101 | 09:00 | G | 00002 | ASD | ||
20120103 | SALI | 00007 | 20120101 | 09:00 | G | 00003 | ASD | ||
20120104 | ÇARŞAMBA | 00008 | 20120102 | 18:00 | C | 00004 | ASD | ||
20120105 | PERŞEMBE | 00009 | 20120102 | 18:00 | C | 00005 | ASD | ||
20120106 | CUMA | 00010 | 20120102 | 18:00 | C | 00006 | ASD | ||
20120107 | CUMARTESİ | 00011 | 20120102 | 18:00 | C | 00007 | ASD | ||
20120108 | PAZAR | 00012 | 20120102 | 18:00 | C | 00008 | ASD | ||
20120109 | PAZARTESİ | 00013 | 20120102 | 18:00 | C | 00009 | ASD | ||
20120110 | SALI | 00010 | ASD | ||||||
20120111 | ÇARŞAMBA | 00011 | ASD | ||||||
20120112 | PERŞEMBE | 00012 | ASD | ||||||
20120113 | CUMA | 00013 | ASD | ||||||
20120114 | CUMARTESİ | 00014 | ASD | ||||||
20120115 | PAZAR | 00015 | ASD | ||||||
20120116 | PAZARTESİ | 00016 | ASD | ||||||
20120117 | SALI | 00017 | ASD | ||||||
20120118 | ÇARŞAMBA | 00018 | ASD | ||||||
20120119 | PERŞEMBE | 00019 | ASD | ||||||
20120120 | CUMA | 00020 | ASD | ||||||
20120121 | CUMARTESİ | 00021 | ASD | ||||||
20120122 | PAZAR | 00022 | ASD | ||||||
20120123 | PAZARTESİ | 00023 | ASD | ||||||
20120124 | SALI | 00024 | ASD | ||||||
20120125 | ÇARŞAMBA | 00025 | ASD | ||||||
20120126 | PERŞEMBE | 00026 | ASD | ||||||
20120127 | CUMA | 00027 | ASD | ||||||
20120128 | CUMARTESİ | 00028 | ASD | ||||||
20120129 | PAZAR | 00029 | ASD | ||||||
20120130 | PAZARTESİ | 00030 | ASD | ||||||
20120131 | SALI | ||||||||
20120201 | ÇARŞAMBA | ||||||||
20120202 | PERŞEMBE | ||||||||
20120203 | CUMA | ||||||||
20120204 | CUMARTESİ | ||||||||
20120205 | PAZAR |
Merhaba,
Günler tablosu ile personel'i cross join yapıp bi view yap sonra bu view ile
hareket tablosu ile "tarih,personel_id" kolonları üzerinden"left join yap.Böylece tüm personel için olması gereken günler gelecek.diğer yandan hareketlerde sadece kareketi olanlar gelcek olmayanları coalesce() fonksyonu ile 0 veya başka bişey yazabilirsin.