2016-05-11 17 views
1

私はSQLデータベースを使い始めています。複数のテーブルの結果を返すクエリに関する質問があります。申し訳ありませんが、これは本当に些細なことですが、私は自分自身でそれを研究しようとしていますが、探し出す適切な用語を知らなかったのです。複数のテーブルを結合するクエリ

私は3つのテーブルがあります。私は、クエリはすべての予定を返すようにしたいが、姓マッチング医師とDoctorIDとPatientIDを交換し、患者が姓

Patient - 
PatientID* 
Surname 
FName 
DoB 
Address 
PhoneNo 

Doctor - 
DoctorID* 
Surname 
FName 
DoB 
Address 
PhoneNo 

Appointment - 
AppointmentID* 
DoctorID 
PatientID 
Time 
Date 

を。それで、帰宅予定ID、医師の姓、患者の姓、時間と日付。

私は誰かが理解するためにこれを十分に説明してくれることを願っています!

ありがとうございました!

答えて

1

はここに参加するなぜあなたは左を使用します

select a.AppointmentID, b.Surname, b.FNAME, c.Surname, c.FName 
from Appointment as a 
Inner join Doctor as b on b.DoctorID = a.DoctorID 
Inner join Patient as c on c.PatientID = a,PatientID 
0
SELECT 
    a.AppointmentID, 
    a.Time, 
    a.Date, 
    d.Surname, 
    p.Surname 
FROM 
    Appointment a with (nolock) 
    left join 
    Doctor d with (nolock) on 
    d.DoctorID = a.DoctorID 
    left join 
    Patient p with (nolock) on 
    p.PatientID = a.PatientID 
+0

に参加インナーべきか?対応する医者または患者がいない予定があることを期待していますか? –

+0

彼は指定していないので、予定されているが、医師が割り当てられていない場合は、これが確実に行われます。これは現実の生活の中で起こることがあります - 私たちは400のベッドの病院でそれを常に見ます。 – scsimon

関連する問題