iş yerine giriş saatini bulan sql cümlesi
iş yerine giriş saatini bulan sql cümlesi
merhabalar,
id, personel_id, tarih, giris_saat
1 20 2014-05-26 08:04:00
2 116 2014-05-26 11:00:00
3 117 2014-05-26 11:00:01
4 116 2014-05-26 12:20:00
5 117 2014-05-26 12:21:00
6 20 2014-05-27 08:03:00
7 116 2014-05-27 08:07:00
8 117 2014-05-27 09:00:01
9 116 2014-05-27 09:20:00
10 117 2014-05-27 10:21:00
şeklinde recordlar var. Nasıl bir sql cümlesi ile her bir personel_id nin hangi tarihde işe ilk katça geldiğini gösterebilirim?
şimdiden teşekkür ederim.
id, personel_id, tarih, giris_saat
1 20 2014-05-26 08:04:00
2 116 2014-05-26 11:00:00
3 117 2014-05-26 11:00:01
4 116 2014-05-26 12:20:00
5 117 2014-05-26 12:21:00
6 20 2014-05-27 08:03:00
7 116 2014-05-27 08:07:00
8 117 2014-05-27 09:00:01
9 116 2014-05-27 09:20:00
10 117 2014-05-27 10:21:00
şeklinde recordlar var. Nasıl bir sql cümlesi ile her bir personel_id nin hangi tarihde işe ilk katça geldiğini gösterebilirim?
şimdiden teşekkür ederim.
Re: iş yerine giriş saatini bulan sql cümlesi
select personel_id, tarih, min(giris_saat)
from tablo_adı
group by personel_id, tarih
Kolay gelsin.
from tablo_adı
group by personel_id, tarih
Kolay gelsin.
Re: iş yerine giriş saatini bulan sql cümlesi
hım sanırım sizin kod daha kısaymış.
ben ise şu şekilde yapmıştım.
ben ise şu şekilde yapmıştım.
Kod: Tümünü seç
SELECT id, personel_id, tarih, min( giris_saat )
FROM `personel_giriscikis`
WHERE date_format( tarih, '%Y %m %d' ) = date_format( '2014-05-27', '%Y %m %d' )
GROUP BY personel_id
Re: iş yerine giriş saatini bulan sql cümlesi
personel_giriscikis
id, personel_id, tarih, giris_saat
1 20 2014-05-26 08:04:00
2 116 2014-05-26 11:00:00
3 117 2014-05-26 11:00:01
4 116 2014-05-26 12:20:00
5 117 2014-05-26 12:21:00
6 20 2014-05-27 08:03:00
7 116 2014-05-27 08:07:00
8 117 2014-05-27 09:00:01
9 116 2014-05-27 09:20:00
10 117 2014-05-27 10:21:00
personel_kartlari
kart_no, adi, soyadi, departman_kod
20 ali ak 1
116 kazim ates 2
117 ayşe beyaz 2
kodlar_departman
kod, aciklama
1 satis departmanı
2 muhasebe departmanı
3 teknik departman
bu hesaba göre yukarıda verilenler ışığında ve tabni verdiğiniz sql koduna göre bir düzenleme ile çıkan sonucun yanında nasıl edipde
personel_kartlari.personel_id, personel_kartlari.adi, personel_kartlari.soyadı, kodlar_departman.aciklama, personel_giriscikis.tarih, personel_giriscikis.girisaat
şeklinde output vermesini sağlayabiliriz?
şimdiden teşekkürler...
id, personel_id, tarih, giris_saat
1 20 2014-05-26 08:04:00
2 116 2014-05-26 11:00:00
3 117 2014-05-26 11:00:01
4 116 2014-05-26 12:20:00
5 117 2014-05-26 12:21:00
6 20 2014-05-27 08:03:00
7 116 2014-05-27 08:07:00
8 117 2014-05-27 09:00:01
9 116 2014-05-27 09:20:00
10 117 2014-05-27 10:21:00
personel_kartlari
kart_no, adi, soyadi, departman_kod
20 ali ak 1
116 kazim ates 2
117 ayşe beyaz 2
kodlar_departman
kod, aciklama
1 satis departmanı
2 muhasebe departmanı
3 teknik departman
bu hesaba göre yukarıda verilenler ışığında ve tabni verdiğiniz sql koduna göre bir düzenleme ile çıkan sonucun yanında nasıl edipde
personel_kartlari.personel_id, personel_kartlari.adi, personel_kartlari.soyadı, kodlar_departman.aciklama, personel_giriscikis.tarih, personel_giriscikis.girisaat
şeklinde output vermesini sağlayabiliriz?
şimdiden teşekkürler...
Re: iş yerine giriş saatini bulan sql cümlesi
Kod: Tümünü seç
SELECT personel.kartno, personel.adi, personel.soyadi, kodlar_departman.aciklama, saat.tarih, min( saat.giris_saat )
FROM `personel_giriscikis` AS saat, `personel_kartlari` AS personel
INNER JOIN kodlar_departman ON personel.departman_kod = kodlar_departman.kod
WHERE saat.personel_id = personel.kartno
AND date_format( saat.tarih, '%Y %m %d' ) = date_format( '2014-05-27', '%Y %m %d' )
GROUP BY personel_id
Re: iş yerine giriş saatini bulan sql cümlesi
kelimesine istinaden sizin kodlarınıza ek olarak Order By komutu ile tarih ve saat sıralaması yapıp en küçük olanı bulmanız gerekecektir.Nasıl bir sql cümlesi ile her bir personel_id nin hangi tarihde işe ilk katça geldiğini gösterebilirim?
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Re: iş yerine giriş saatini bulan sql cümlesi
Kod: Tümünü seç
SELECT TOP 1 Girsaat from .... ORDER BY Girsaat
Bir kelimenin anlamını öğretsen bile yeter..
-
- Üye
- Mesajlar: 254
- Kayıt: 16 Şub 2004 06:12
- Konum: istanbul
Re: iş yerine giriş saatini bulan sql cümlesi
Merhaba,
Konu yine PKDS ile ilgili olduğu için yeni bir başlık açmak istemedim.
Benim sorum da şu mysql veri tabanı kullanıyorum 2 adet tablom var 1.Tablo giriş-çıkış hareketlerini tuttuğum tablo 2.tabloda da personel bilgileri mevcut
Sorum aşağıdaki gibi sql ile ilgili tarihte işe gelmeyenleri bulup tespit etmek. Değer boş geliyor.
Konu yine PKDS ile ilgili olduğu için yeni bir başlık açmak istemedim.
Benim sorum da şu mysql veri tabanı kullanıyorum 2 adet tablom var 1.Tablo giriş-çıkış hareketlerini tuttuğum tablo 2.tabloda da personel bilgileri mevcut
Sorum aşağıdaki gibi sql ile ilgili tarihte işe gelmeyenleri bulup tespit etmek. Değer boş geliyor.
Kod: Tümünü seç
SELECT gc.personelid,
p.ad,
p.soyad,
gc.giristarihi,
CASE
WHEN WEEKDAY(gc.giristarihi)=1 then 'Salı'
when WEEKDAY(gc.giristarihi)=2 then 'Çarşamba'
when WEEKDAY(gc.giristarihi)=3 then 'Perşembe'
when WEEKDAY(gc.giristarihi)=4 then 'Cuma'
when WEEKDAY(gc.giristarihi)=5 then 'Cumartesi'
when WEEKDAY(gc.giristarihi)=6 then 'Pazar'
when WEEKDAY(gc.giristarihi)=0 then 'Pazartesi'
END AS Gun
FROM
gc_giriscikis gc
JOIN personel p ON (p.id = gc.personelid)
where p.durum ='Aktif' and p.id not in (SELECT gc.personelid FROM gc_giriscikis gc JOIN personel p ON (p.id = gc.personelid) where p.durum ='Aktif')
group by 2,1,4,5