Dapatkan rekod pekerja yang mengambil cuti 11 hari berturut-turut
P粉014218124
P粉014218124 2023-08-16 20:44:15
0
1
538
<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粉014218124
P粉014218124

membalas semua(1)
P粉893457026

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan