簡體   English   中英

內部聯接SQL查詢

[英]INNER JOIN SQL QUERY

下一條sql語句工作正常。 它同時顯示Patient_id和serv_name,但我嘗試顯示Patient_name而不是Patient_id

SELECT  C1.patient_id, S.serv_name
FROM
    Checkup_Details C
    INNER JOIN Services S ON (C.serv_id=S.serv_id),
    Checkup C1
WHERE
    C1.today = DATE() AND C1.check_id=C.check_id
ORDER BY C.check_id

所以我想如何通過添加此sql語句來做到這一點

INNER JOIN Patient P ON (C1.patient_id=P.patient_id)

但我不知道有多精確。

假設字段Patient_name在Checkup_Details中,則必須輸入

SELECT C1.patient_name ...

取而代之

SELECT C1.patient_id ...

只需添加INNER JOIN子句即可獲取表Patient的列,並通過P.patient_name更改C1.patient_id。

SELECT P.patient_name, S.serv_name
FROM
    Checkup_Details C
    INNER JOIN Services S ON (C.serv_id=S.serv_id),
    INNER JOIN Patient P ON (C1.patient_id=P.patient_id)
    Checkup C1
WHERE
    C1.today = DATE() AND C1.check_id=C.check_id
ORDER BY C.check_id

您不應混合使用隱式和顯式join語法。 一個簡單的規則:請勿在from子句中使用逗號:

SELECT C1.patient_id, S.serv_name
FROM Checkup_Details C  INNER JOIN
     Services S
     ON C.serv_id = S.serv_id INNER JOIN
     Checkup C1
     ON C1.check_id = C.check_id INNER JOIN
     Patient P
     ON C1.patient_id = P.patient_id
WHERE C1.today = DATE()
ORDER BY C.check_id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM