簡體   English   中英

連接3個表並顯示記錄,即使第3個表缺少值

[英]Join 3 tables and display records even if missing value from 3rd table

我想用此查詢聯接三個表:

select *, max(working_dx.date_added), diagnosis_list.diagnosis as WorkingDiagnosis from working_dx 
    inner join ild on ild.id_incr=working_dx.pt_id
    inner join diagnosis_list on working_dx.dx_id = diagnosis_list.id
    group by pt_id";

我想要ild表中的所有記錄,即使working_dx中沒有匹配的記錄-如果不匹配,WorkingDiagnosis中的值將只是空白。

上面的查詢只給我提供了work_dx.dx_id有值的記錄。 我如何執行JOIN語句將所有記錄返回給我,即使它們為空。

嘗試這個:

SELECT *, max(working_dx.date_added), 
(CASE WHEN diagnosis_list.id IS NULL THEN  "" ELSE diagnosis_list.diagnosis  END) as WorkingDiagnosis 
    FROM working_dx 
    INNER JOIN ild on ild.id_incr=working_dx.pt_id
    LEFT JOIN diagnosis_list on working_dx.dx_id = diagnosis_list.id
    GROUP BY pt_id;

暫無
暫無

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

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