none
Rekap data absen RRS feed

  • Pertanyaan

  • Halo semuanya ,Saya mohon bantuannya untuk para master master SQL untuk membantu saya bagaimana cara menghitung jumlah sakit,ijin,alpa dan totalnya per bulan dan perkaryawan

    saya telah coba dengan query ini

      

     SELECT DISTINCT No_Karyawan,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Sakit')AS S ,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Ijin')AS I,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Alpa')AS A,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Sakit' OR Status='Ijin' OR Status='Alpa')AS Total FROM DeltaDjaya.dbo.Absensi

    Tapi itu yang muncul malah jumlah sakit semua karyawan bukan per karyawan

    mohon pencerahaanya thx

    Selasa, 10 Desember 2013 19.48

Jawaban

  • Hi Theo Lie

    Selamat datang di Forum Technet

    Kamu bisa coba gunakan query berikut:

    SELECT DISTINCT No_Karyawan,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Sakit')AS S ,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Ijin')AS I,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Alpa')AS A,(SELECT COUNT(Status)FROM DeltaDjaya.dbo.Absensi WHERE Status='Sakit' OR Status='Ijin' OR Status='Alpa')AS Total FROM DeltaDjaya.dbo.Absensi
    
    select No_Karyawan, sum(case when Status='Sakit' then 1 else 0 end) as S
    	,sum(case when Status='Izin' then 1 else 0 end) as I
    	,sum(case when Status='Alpa' then 1 else 0 end) as A
    	,sum(case when Status='Alpa' then 1 when Status='Alpa' then 1 when Status='Izin' then 1 else 0 end) as Total
    from DeltaDjaya.dbo.Absensi
    group by No_Karyawan
    
    

    Terima kasih

    Andy Nugraha

    TechNet Community Support

    Kamis, 12 Desember 2013 01.52
    Moderator