Raporda alt alta olan haftanın günleri yan yana nasıl alınır

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Raporda alt alta olan haftanın günleri yan yana nasıl alınır

Mesaj gönderen denizfatihi »

Merhaba,

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
Kullanıcı avatarı
dynamo
Üye
Mesajlar: 96
Kayıt: 21 Haz 2005 02:05
Konum: istanbul

Re: Raporda alt alta olan haftanın günleri yan yana nasıl al

Mesaj gönderen dynamo »

İzin hareketleri, ktarih tablosuna mı yoksa hareketler tablosuna mı kaydediliyor?
denizfatihi
Üye
Mesajlar: 254
Kayıt: 16 Şub 2004 06:12
Konum: istanbul

Re: Raporda alt alta olan haftanın günleri yan yana nasıl al

Mesaj gönderen denizfatihi »

Merhaba,

Hareketler tablosuna kaydediliyor.
Kullanıcı avatarı
dynamo
Üye
Mesajlar: 96
Kayıt: 21 Haz 2005 02:05
Konum: istanbul

Re: Raporda alt alta olan haftanın günleri yan yana nasıl al

Mesaj gönderen dynamo »

sizin kadar derin sql bilgisine sahip değilim,istediğiniz bu olmalı: sql horizontal join diye google'dan aratın:
bu sorguya pivot table deniyormuş,yeni öğrendim :shock: :o

http://buysql.com/mysql/12-how-to-pivot-tables.html

http://stackoverflow.com/questions/1464 ... as-columns

http://stackoverflow.com/questions/1459 ... y-and-join

bu kod bana da lazım,eğer çözerseniz paylaşabilir misiniz?
Cevapla