Я хотел бы выполнить внешнее объединение для отношения один-ко-многим (используя SQL или Hibernate), я пытаюсь использовать неправильный синтаксис или это невозможно по проекту?
Давайте рассмотрим простоепример: пользователь может изменять значения параметров.Для параметров без пользовательского значения используется значение по умолчанию:
Table **PARAMETER** :
PAR_ID
PAR_NAME
PAR_DEFAULT_VALUE
Table **USER_PARAMETER** :
UP_ID
UP_PAR_ID
UP_US_ID
UP_CUSTOM_VALUE
Table **USER** :
US_ID
US_LOGIN
Для данного пользователя я хотел бы перечислить все параметры с их значением по умолчанию и их пользовательским значением, если пользователь дал один (и "null ", если у него нет пользовательских значений для этого пользователя).
Я пробовал следующий запрос, но он ничего не возвращает, если у пользователя нет пользовательских значений:
SELECT PAR_NAME, PAR_DEFAULT_VALUE, UP_CUSTOM_VALUE
FROM PARAMETER
LEFT JOIN USER_PARAMETER on UP_PAR_ID = PAR_ID
WHERE UP_US_ID = 1
Я ожидал, что PAR_NAME и PAR_DEFAULT_VALUE будут заполнены для каждого существующего параметра, а UP_CUSTOM_VALUE заполнены для пользовательских параметров (и «null» для других параметров).