У меня есть следующий sql, работающий с 1 незначительной проблемой, с которой мне нужна помощь.Мне нужны результаты, чтобы показать, даже если одна из объединенных таблиц является нулевым.Я пытался использовать левое / правое объединение, но, похоже, это не имело значения, что мне нужно использовать, чтобы сделать эту работу?
Как и сейчас, запрос будет работать, если только записьв таблице dx_code_patient нет совпадений, мне нужно показать результаты, даже если в этой таблице нет совпадающих записей.
SELECT
group_concat(distinct current_dx.dx_code_with, ': ', current_dx.description SEPARATOR ' - ') AS current_dxc,
group_concat(distinct pending_dx.dx_code_with, ': ', pending_dx.description SEPARATOR ' - ') AS pending_dxc,
p.id, p.first_name, p.last_name
FROM patients AS p
INNER JOIN tmp_dx_code_patient AS tmp_dx
ON tmp_dx.patient_id = p.id
INNER JOIN dx_code_patient AS cdx
ON cdx.patient_id = p.id
INNER JOIN dx_codes AS current_dx
ON current_dx.id = cdx.dx_code_id
INNER JOIN dx_codes AS pending_dx
ON pending_dx.id = tmp_dx.dx_code_id
GROUP BY p.id
ORDER BY tmp_dx.created_at asc
текущие результаты:
+----------------+--------------+----+------------+-----------+
| current_dxc | pending_dxc | id | first_name | last_name |
+----------------+--------------+----+------------+-----------+
| def: something | 123: message | 2 | Bob | Smith |
+----------------+--------------+----+------------+-----------+
Ожидается
+----------------+---------------+----+------------+------------+
| current_dxc | pending_dxc | id | first_name | last_name |
+----------------+---------------+----+------------+------------+
| null | ghy: hi | 1 | Mike | Jones |
+----------------+---------------+----+------------+------------+
| def: something | 123: message | 2 | Bob | Smith |
+----------------+---------------+----+------------+------------+
| null | 432: question | 3 | John | Doe |
+----------------+---------------+----+------------+------------+