У меня есть две таблицы, ROLE и ROLE_DESC.Внешнее соединение двух таблиц
ROLE выглядит так.
PS_ROLE_SEQ NUMBER,
PS_SEQ NUMBER,
ROLE_TYPE VARCHAR2(2 CHAR),
SOURCE VARCHAR2(128 CHAR)
ROLE_DESC выглядит следующим образом.
ROLE_TYPE VARCHAR2(2 CHAR),
ROLE_NAME VARCHAR2(16 CHAR)
Как вы ожидаете, ROLE_TYPE
из РОЛИ and
ROLE_TYPE
из ROLE_DESC
ссылки друг друга. Есть три объекта в ROLE_DESC
, вот так.
ROLE_TYPE ROLE_NAME
A Account
M Manager
S Sales
Я хотел бы напечатать весь role_type
и role_name
путем присоединения двух таблиц даже мысли ROLE
таблица не имеет определенного ROLE_TYPE
. Например, если нет «S» role_type
для PS_SEQ = 111. Я пробовал, это, но я только получил ниже.
select ROLE_DESC.ROLE_TYPE, ROLE_DESC.ROLE_NAME, ROLE.SOURCE
FROM ROLE_DESC
LEFT OUTER JOIN ROLE
ON ROLE_DESC.role_type=ROLE.role_type
where ROLE.PS_SEQ = 111
Результат:
A Account Bob
M Manager Sandy
На самом деле, я хотел бы получить следующее.
A Account Bob
M Manager Sandy
S Sales
Внешнее соединение делает это возможным? Не могли бы вы дать некоторые подсказки для этого вопроса?
Не так ли, как [этот] (http://stackoverflow.com/questions/37027903/join-two-tables-when не -есть-это-не-значение-в-одном стола)? – Aleksej
Это другое, но цель такая же. если вы хотите, я могу удалить предыдущий вопрос. Прошу прощения за путаницу. –
Предлагаю изменить первый вопрос, а затем закрыть это – Aleksej