may be because all doctors are not preffered doctors for patients
SELECT Appointment.AppointmentId, Doctor.Name AS [Doc Name], Doctor.Surname AS [Doc Surname], Patient.Surname AS [Patient Surname], Patient.Name AS [Patient Name]
FROM Appointment INNER JOIN
Doctor ON Appointment.DoctorId = Doctor.ID LEFT JOIN
Patient ON Appointment.PatientId = Patient.Id AND Doctor.ID = Patient.PrefferedDoctor
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/