Вы ищете предложение LEFT JOIN
, которое также включает строки, которые не могут быть объединены (нет соответствующей строки во второй / правой таблице).В этом случае значения из второй / правой таблицы будут NULL
.
SELECT recordings.ident, users.first_name, users.last_name, recordings.agent_number, recordings.device_id
FROM recordings
LEFT JOIN agent_phones
ON recordings.agent_number = agent_phones.phone_id
LEFT JOIN users
ON agent_phones.agent_id = users.uid
. Это может быть расширено для возврата указанной строки вместо NULL
значений с использованием функции COALESCE
:
SELECT
recordings.ident,
COALESCE(users.first_name, 'unknown'),
COALESCE(users.last_name, 'unknown'),
recordings.agent_number,
recordings.device_id
FROM ...