我有两个表,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
的{{1}} and
的{{1}}互相引用。 ROLE_TYPE
中有三个实体,就像这样。
ROLE_DESC
我想通过加入两个表来打印整个ROLE_DESC
和ROLE_TYPE ROLE_NAME
A Account
M Manager
S Sales
,即使role_type
表没有某个role_name
。
例如,如果PS_SEQ = 111没有'S'ROLE
。我试过了,但是我只是在下面。
ROLE_TYPE
结果:
role_type
实际上,我想跟进。
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
外连接是否可以实现?你能否提出一些线索来解决这个问题?
答案 0 :(得分:0)
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 AND ROLE.PS_SEQ = 111
当它在WHERE子句中时,您过滤结果。并且在结果中ROLE.PS_SEQ是Null for Sales并且Null<> 111