Rumah  >  Soal Jawab  >  teks badan

Dapatkan rekod pekerja yang mengambil cuti 11 hari berturut-turut

<p>Saya mempunyai rekod kehadiran dengan medan untuk nombor pekerja, status dan tarikh kehadiran. Saya ingin menggunakan pertanyaan SQL untuk mendapatkan rekod pekerja yang telah mengambil cuti selama 11 hari berturut-turut. Syaratnya ialah jika status kehadiran pekerja adalah cuti, tidak hadir atau kehadiran tanpa tanda (rekod tarikh yang tidak wujud dalam dokumen kehadiran) selama 11 hari berturut-turut, termasuk hujung minggu. </p> <p>Kriteria boleh menjadi campuran semua status, iaitu cuti, ketidakhadiran atau kehadiran tanpa tanda. </p>
P粉014218124P粉014218124453 hari yang lalu475

membalas semua(1)saya akan balas

  • P粉893457026

    P粉8934570262023-08-17 12:58:40

    Pertanyaan ini mencari pekerja yang mempunyai status "cuti", "tidak hadir" atau "tidak bertanda" dalam rekod kehadiran mereka selama 11 hari berturut-turut. Ia menggabungkan data pekerja dengan data kehadiran, menapis untuk status dan julat tarikh tertentu, mengumpulkan data dan hanya memilih kumpulan dengan kiraan rekod 11.

    SELECT DISTINCT a.employee_code
    FROM employees e
    JOIN attendance a ON e.employee_code = a.employee_code
    WHERE a.attendance_date BETWEEN a.attendance_date AND DATE_ADD(a.attendance_date, INTERVAL 10 DAY)
      AND a.status IN ('请假', '缺席', '未标记')
    GROUP BY a.employee_code, a.attendance_date
    HAVING COUNT(*) = 11;

    Jika pertanyaan ini tidak sesuai untuk anda, sila kongsi corak anda. Jika terdapat sebarang ralat dalam pertanyaan ini, sila nyatakan.

    balas
    0
  • Batalbalas