Tôi đang làm việc trên một dự án trong một công ty. Tôi đang cố gắng giải quyết truy vấn này nhưng tôi không thể.Làm thế nào để có được thời gian có sẵn cho bác sĩ từ các cuộc hẹn ngày hôm nay?
bảng của tôi là:
Appointments
:doctorId patientId patientName fromDateTime toDateTime -------- --------- ----------- --------------------- --------------------- 56 1 fghfgh 3/23/2012 12:15:00 PM 3/23/2012 01:15:00 PM 56 2 asdadf 3/23/2012 01:15:00 PM 3/23/2012 02:15:00 PM 56 3 werwr 3/23/2012 09:15:00 AM 3/23/2012 10:15:00 AM 57 4 uiyui 3/23/2012 09:15:00 AM 3/23/2012 10:15:00 AM 57 5 asdad 3/23/2012 01:15:00 PM 3/23/2012 02:15:00 PM
Đây là
timeSchedule
bàn của tôi:id startTime endTime -- ------------ ------------ 1 08:00:00.000 09:00:00.000 2 09:00:00.000 10:00:00.000 3 11:00:00.000 12:00:00.000 4 12:00:00.000 13:00:00.000 5 13:00:00.000 14:00:00.000 6 14:00:00.000 15:00:00.000 7 15:00:00.000 16:00:00.000
Trên thực tế có rất nhiều giá trị nhưng tôi nghĩ rằng đây là những đủ để giải quyết vấn đề.
Tôi so sánh các cuộc hẹn bệnh nhân với bảng timeSchedule
này.
Bây giờ giả sử nếu tôi vượt qua tham số doctorId
như 56 và xem xét hôm nay là ngày 23 tháng 3 sau đó đầu ra nên như thế này:
id startTime endTime
-- --------- --------
1 08:00 AM 09:00 AM
3 11:00 AM 12:00 PM
6 02:00 PM 03:00 PM
7 03:00 PM 04:00 PM
Làm thế nào tôi có thể đạt được kết quả trên?
Tại sao id 1, khi không có bệnh nhân từ 8:00 đến 9:00? Điều gì về khoảng thời gian đó từ 10:00 đến 10:15, mà không có mục nhập TimeSchedule? –
Điều này thật khó hiểu. Các quy tắc (không phải mẫu dữ liệu) xác định những gì được hiển thị bởi truy vấn của bạn? –
Ý của bạn là 1:15 đến 2:15 trong lần xuất hiện cuối cùng cho 57? Tôi thay đổi như vậy dường như để phù hợp với bộ truyện. Đó cũng là dữ liệu tôi đã sử dụng bên dưới. – RThomas