0

person_idという主キーを持つpersonというテーブルがあります。個人テーブルには、患者と医師に関する情報(initals、last_nameなど)が含まれています。また、予定と呼ばれる別のテーブルがあります。この表には、doctor_id、patient_id、および予定に関する情報が含まれています。doctor_idとpatient_idは、personテーブルのperson_idにリンクされています。

医師の名前(イニシャルとlast_nameを含むconcatを使用)と患者の名前を返すクエリを作成する必要があります。

ネストされたselectステートメントを使用しようとしましたが、どこにも到達しませんでした。

どんな情報でも素晴らしいでしょう!

ダン

4

3 に答える 3

3

SQL Server では、連結は+演算子を使用して行われます。したがって、連結演算子は、使用している RDBMS によって異なります。(では、演算子MYSQLを使用CONCAT)

基本的に、 tableに依存する列が 2 つあるため、 table に table をperson2 回結合する必要があります。appointmentperson

SELECT  a.*
        doc.firstName + ' ' + doc.lastName as DoctorName,
        pat.firstName + ' ' + pat.lastName as PatientName
FROM    appointment a
        INNER JOIN person doc
            ON a.person_ID = doc.doctor_ID
        INNER JOIN person pat
            ON a.person_ID = pat.patient_ID

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

于 2013-03-13T16:14:12.010 に答える
3
SELECT d.initials + ' ' + d.last_name AS 'doctor name', p. initials + ' ' + p.last_name AS 'patient name'
FROM Person p
INNER JOIN appointment a
ON p.person_id = a.patient_id
INNER JOIN Person d
ON d.person_id = a.doctor_id
于 2013-03-13T16:14:23.623 に答える
0

ここから始める:

select 
  patient.person_id, 
  doctor.person_id
from person as patient
left join appointment 
    on appointment.patient_id = patient.person_id
left join person as doctor 
    on doctor.person_id = appointment.doctor_id 
   and doctor.person_id = patient.doctor_id
于 2013-03-13T16:15:15.610 に答える