Đây là vấn đề ở chế độ tiết. Tôi có các trường hợp chứng nhận trên một bảng chứng nhận và tất cả họ đều có một loại và một sinh viên liên kết với họ. Dưới đây là những gì tôi muốn xảy ra, tôi muốn kéo tất cả các chứng chỉ với thời gian hết hạn nằm trong phạm vi ngày (NOW đến 1 năm). Nếu họ đủ điều kiện cho tham số đó, tuyệt vời nhưng sau đó tôi muốn loại trừ học sinh nếu họ có thời hạn xác nhận lớn hơn phạm vi khi cùng loại với chứng chỉ nằm trong phạm vi - họ không cần phải tham gia báo cáo. Dưới đây là câu hỏi đầu tiên mà tôi có:Truy vấn SQL để bao gồm ngày hết hạn nằm trong một phạm vi, nhưng sau đó loại trừ nếu chúng có một phiên bản khác cùng loại
SELECT s.student_id, s.fname, s.address1, s.lname, s.zip, s.state, s.city, s.student_type
FROM students s, certifications c
WHERE (s.student_id = c.student_id)
AND s.status='A'
AND s.student_type != 'B'
AND s.student_type != 'D'
AND s.student_type != 'E'
AND s.student_type != 'W'
AND s.student_type != 'T'
AND s.student_type != 'I'
AND c.expiration >= CURDATE() AND c.expiration <= DATE_ADD(NOW(), INTERVAL 1 YEAR)
GROUP BY s.student_id
ORDER BY s.lname, s.fname
Sau đó, sql mà thực sự có được của thông tin của cert dựa trên báo cáo sql trước:
SELECT c.cert_num, c.date, expiration, ct.name, ct.cert_type, c.cert_id, c.student_id
FROM certifications c, cert_type ct
WHERE student_id = '{$Row['student_id']}'
AND ct.cert_type = c.cert_type
ORDER BY ct.name ASC, expiration DESC
Vì vậy, để tóm tắt, vấn đề mà tôi đang chạy vào là sinh viên sẽ xuất hiện nếu hết hạn chứng chỉ của họ trong vòng một năm kể từ bây giờ và nếu họ có một chứng chỉ cùng loại có thời gian hết hạn lớn hơn phạm vi. Điêu đo không tôt.
Có cách nào để kiểm tra để đảm bảo loại chứng chỉ nhất định nằm trong phạm vi ngày và nếu vậy, hãy đảm bảo rằng họ không có chứng chỉ cùng loại lớn hơn phạm vi? Nó không quan tâm nếu nó có một truy vấn sql khác.
Đây là sản phẩm phù hợp với tôi! Cảm ơn GarethD rất nhiều! Xin lỗi bài viết gốc của tôi không có ý nghĩa gì cả, đó là vào cuối ngày làm việc của tôi. Dù sao, cảm ơn tất cả những gì đã trả lời, tôi đã học được khá nhiều từ bài viết của bạn. Tôi cũng nhận ra rằng tôi sẽ phải đọc thêm về 'tham gia'. –