表一:one
数据:
人员 房间1 房间2 房间3
A 1 1
B 1
C 1
表二:two
数据:
人员 房间4 房间5
A 1
B 1 1
D 1 2
E 2 3
要求实现以下数据查询结果
人员 房间1 房间2 房间3 房间4 房间5
A 1 1 1
B 1 1 1
C 1
D 1 2
E 2 3
------解决思路----------------------
select NVL(A.人员,B.人员) 人员,A.房间1,A.房间2,A.房间3 ,B.房间4,B.房间5
from 表1 A full join 表2 B
on A.人员=B.人员
------解决思路----------------------
1楼正解,用full jion关联两表,nvl()函数来将人员列合并,附:
NVL2(expr1,expr2,expr3)
功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。
NVL( string1, replace_with)
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。