Question: - - Create Appointments table CREATE TABLE Appointments ( AppointmentID INT PRIMARY KEY, PatientID INT, DoctorID INT, AppointmentDate DATE, AppointmentTime TIME, AppointmentDuration INT, FOREIGN KEY
Create Appointments table
CREATE TABLE Appointments
AppointmentID INT PRIMARY KEY,
PatientID INT,
DoctorID INT,
AppointmentDate DATE,
AppointmentTime TIME,
AppointmentDuration INT,
FOREIGN KEY PatientID REFERENCES PatientPatientID
FOREIGN KEY DoctorID REFERENCES DoctorDoctorID
;
Insert data into tables
INSERT INTO Patient PatientID PatientName, PatientSurname, PatientDOB
VALUES
'Debbie', 'Theart',
'Thomas', 'Duncan', ;
INSERT INTO Doctor DoctorID DoctorName, DoctorSurname
VALUES
'Zintle', 'Nukani'
'Ravi', 'Maharaj';
INSERT INTO Appointments AppointmentID PatientID, DoctorID, AppointmentDate, AppointmentTime, AppointmentDuration
VALUES
::
::
::
::;
Q: Display all appointments between and inclusive
SELECT
FROM Appointments
WHERE AppointmentDate BETWEEN AND ;
Q: Display names and surnames of patients with total number of appointments
SELECT pPatientName, pPatientSurname, COUNTaAppointmentID AS TotalAppointments
FROM Patient p
JOIN Appointments a ON pPatientID aPatientID
GROUP BY pPatientName, pPatientSurname
ORDER BY TotalAppointments DESC;
Q: Display all appointments with doctor and patient details
SELECT aAppointmentDate, aAppointmentTime, dDoctorName, dDoctorSurname, pPatientName, pPatientSurname
FROM Appointments a
JOIN Doctor d ON aDoctorID dDoctorID
JOIN Patient p ON aPatientID pPatientID
ORDER BY aAppointmentDate DESC;
Q: Create view for patients with appointments with Doctor ID
CREATE VIEW PatientsWithDoctor AS
SELECT pPatientName, pPatientSurname
FROM Patient p
JOIN Appointments a ON pPatientID aPatientID
WHERE aDoctorID
ORDER BY pPatientName, pPatientSurname ASC;
Create stored procedure getappointments
DELIMITER
CREATE PROCEDURE getappointmentsIN appointmentdate DATE
BEGIN
SELECT aAppointmentTime, aAppointmentDuration, dDoctorName, dDoctorSurname, pPatientName, pPatientSurname
FROM Appointments a
JOIN Doctor d ON aDoctorID dDoctorID
JOIN Patient p ON aPatientID pPatientID
WHERE aAppointmentDate appointmentdate
ORDER BY aAppointmentTime ASC;
END
DELIMITER ;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
