mysql tablosunda time alandan sabit saat çıkarma işlermi

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: 332
Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:

mysql tablosunda time alandan sabit saat çıkarma işlermi

Mesaj gönderen kazimates »

sql cümlesi ile aşağıda verilen min( saat.giris_saat ) veritabanında işe geliş saati olarak kayıtlı ve format is 23:00:12 karşımızda gözüküyor. Amacım burada bir sanal kolon daha göstermek ve orada bu min( saat.giris_saat ) saatinden 08:00:00 saatini çıkarmak ki 08:00 normalde işe başlama saatidir. Ve böylelikle sanal kolkon adınıda geçikilen süre diyerek aşağıdaki queryde bir yerde gösterebilmek. Bunun çözümü ne olabilir?

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
kazimates
Üye
Mesajlar: 332
Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:

Re: mysql tablosunda time alandan sabit saat çıkarma işlermi

Mesaj gönderen kazimates »

aşağıdaki kodla işim çözüldü.

Kod: Tümünü seç

SELECT personel.kartno, personel.adi, personel.soyadi, kodlar_departman.aciklama, saat.tarih, min( saat.giris_saat ) as Giriş,
timediff( (min( saat.giris_saat )) , '08:00:00' ) as Gecikme
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
kazimates
Üye
Mesajlar: 332
Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:

Re: mysql tablosunda time alandan sabit saat çıkarma işlermi

Mesaj gönderen kazimates »

hatta group by ve order by ile departmanlara göre sıralanmış hali ise şu şekilde oldu.

Kod: Tümünü seç

SELECT personel.kartno, personel.adi, personel.soyadi, kodlar_departman.aciklama, saat.tarih, min( saat.giris_saat ) as Giriş,
timediff( (min( saat.giris_saat )) , '08:00:00' ) as Gecikme
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 
order by kodlar_departman.aciklama
Cevapla