Я пытаюсь использовать левое соединение нескольких таблиц к одной:
SELECT unit.unit_id,
unit_situation_legal_protection.unit_situation_legal_protection_id,
situation.situation_id,
situation.situation_type,
legal.legal_id,
legal.legal_type,
protection.protection_id,
protection.protection_type,
unit_situation_legal_protection.unit_situation_legal_protection_date_added,
unit_situation_legal_protection.unit_situation_legal_protection_status
FROM unit
LEFT JOIN unit_situation_legal_protection ON unit.unit_id = unit_situation_legal_protection.unit_id
LEFT JOIN situation ON unit_situation_legal_protection.situation_id= situation.situation_id
LEFT JOIN legal ON unit_situation_legal_protection.legal_id = legal.legal_id
LEFT JOIN protection ON unit_situation_legal_protection.protection_id=protection.protection_id
WHERE unit_situation_legal_protection.unit_id = 146
Где мне нужно получить legal_type
, protection_type
и situation_type
из соответствующих таблиц и добавитьих в возвращенные строки.
Я могу получить legal_id
, protection_id
и situation_id
из результата, но legal_type
, protection_type
и situation_type
всегда пусты.
РЕДАКТИРОВАТЬ: Объяснение
Есть 5 таблиц:
Таблица unit
, которая является основной, и unit_situation_legal_protection
, которая подключена к unit
- unit_id
в качестве внешнего ключа.
unit_situation_legal_protection
имеют другие внешние ключи, такие как legal_id
, protection_id
и situation_id
.Каждая таблица имеет отдельную таблицу, содержащую id
и type
.
Таким образом, таблица ситуации содержит: situation_id
и situation_type
.