Forum

Sql Sorgusu Hakkınd...
 
Bildirimler
Hepsini Temizle

Sql Sorgusu Hakkında

2 Yazılar
2 Üyeler
0 Likes
500 Görüntüleme
(@ozguraltinel)
Gönderiler: 244
Reputable Member
Konu başlatıcı
 

 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

 

 
Gönderildi : 17/10/2012 21:29

(@GokhanDOGAN)
Gönderiler: 780
Prominent Member
 

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. 

 
Gönderildi : 13/11/2012 03:28

Paylaş: