Haftalık raporda alt alta gözüken haftanın günleri yan yana nasıl alınır, veri tabanı mysql olup sorgu aşağıdaki gibidir.
Pazartesi-Salı-Çarşamba-Perşembe-Cuma-C.tesi-Pazar şeklinde nasıl olur ?
Kod: Tümünü seç
SELECT h.pid, CONCAT_WS(' ', p.ad,p.soyad) AS adi_soyadi, k.tarih,
B.ad AS 'Bölüm',
g.ad AS 'Görevi',
br.id, br.adi, br.e_mail,
WEEKOFYEAR(k.tarih) AS Hafta,
ELT( WEEKDAY(k.tarih)+1, 'Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi','Pazar') as Gun,
h.tipi,
CASE h.tipi
WHEN 1 THEN 'Yıllık İzin'
WHEN 2 THEN 'Evlilik İzni (Kendi-3 Gün)'
WHEN 3 THEN 'Doğum İzni(Kendisi)'
WHEN 4 THEN 'Evlilik İzni (Çocuğu)'
WHEN 5 THEN 'Doğum İzni(Eşi)'
WHEN 6 THEN 'Ölüm İzni(Anne,Eş,Çocuk,Kardeş,Baba)'
WHEN 7 THEN 'Ölüm İzni(2.derece)'
WHEN 8 THEN 'Raporlu'
WHEN 10 THEN 'Süt İzni'
WHEN 11 THEN 'Görevli'
WHEN 12 THEN 'İdari İzin'
WHEN 13 THEN 'Hastalık İzni'
WHEN 14 THEN 'Ücretsiz İzin'
WHEN 15 THEN 'Haftalık Kullanılmayan İzinler'
WHEN 0 THEN 'Çalıştı'
WHEN -1 THEN 'İşe Gelmedi'
ELSE '???'
END AS Durumu,
h.ttipi, F.ad AS Firma
FROM ktarih k
LEFT JOIN hareketler h ON (h.tarih = k.tarih)
LEFT JOIN personel p ON (P.id = h.pid)
LEFT JOIN pts_izinad iza on (iza.kod = h.tipi)
LEFT JOIN bolum AS B ON (B.id = p.bolumid)
LEFT JOIN grup AS g ON (g.id = p.grupid)
LEFT JOIN firma AS F ON (F.id = p.firmaid)
LEFT JOIN birimy br on (br.id = p.bolumy)
WHERE 1=1 and p.durum='Aktif'
and br.id in ('1','2','3','4','5','6','7')
and WEEKOFYEAR(k.tarih)=34 -- and WEEKDAY(k.tarih)=1
and br.id=7
group by 2,1,3,6,7,8
order by 1,3,2,9,11