iş yerine giriş saatini bulan sql cümlesi

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
kazimates
Üye
Mesajlar: 324
Kayıt: 30 Haz 2005 11:40
Konum: Kıbrıs
İletişim:

iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen kazimates » 29 May 2014 12:47

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.

Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7500
Kayıt: 09 Haz 2003 11:26
Konum: İstanbul
İletişim:

Re: iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen mussimsek » 29 May 2014 01:27

select personel_id, tarih, min(giris_saat)
from tablo_adı
group by personel_id, tarih

Kolay gelsin.

kazimates
Üye
Mesajlar: 324
Kayıt: 30 Haz 2005 11:40
Konum: Kıbrıs
İletişim:

Re: iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen kazimates » 29 May 2014 02:14

hım sanırım sizin kod daha kısaymış.
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

kazimates
Üye
Mesajlar: 324
Kayıt: 30 Haz 2005 11:40
Konum: Kıbrıs
İletişim:

Re: iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen kazimates » 29 May 2014 02:25

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...

kazimates
Üye
Mesajlar: 324
Kayıt: 30 Haz 2005 11:40
Konum: Kıbrıs
İletişim:

Re: iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen kazimates » 29 May 2014 03:46

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
sorunu yukarıdaki kodla çözdüm. herkese teşekkürler.

tayipk
Üye
Mesajlar: 283
Kayıt: 27 Kas 2013 11:32

Re: iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen tayipk » 07 Haz 2014 10:40

Nasıl bir sql cümlesi ile her bir personel_id nin hangi tarihde işe ilk katça geldiğini gösterebilirim?
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.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Re: iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen conari » 10 Haz 2014 10:06

Kod: Tümünü seç

SELECT TOP 1 Girsaat from .... ORDER BY Girsaat
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

denizfatihi
Üye
Mesajlar: 230
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: iş yerine giriş saatini bulan sql cümlesi

Mesaj gönderen denizfatihi » 01 Ağu 2014 12:32

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.

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

Cevapla