[英]Join 3 tables and display records even if missing value from 3rd table
I want to join three tables with this query: 我想用此查询联接三个表:
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";
I want all the records in ild table, even if no matching record in working_dx - if no match the value in WorkingDiagnosis would simply be blank. 我想要ild表中的所有记录,即使working_dx中没有匹配的记录-如果不匹配,WorkingDiagnosis中的值将只是空白。
The above query only gives me back records where working_dx.dx_id has a value. 上面的查询只给我提供了work_dx.dx_id有值的记录。 How do I do the JOIN statements to give me back all the records even if blank.
我如何执行JOIN语句将所有记录返回给我,即使它们为空。
try this: 尝试这个:
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.