请在下面与我分享您的意见
我在oracle 11g中有两个数据集
设置1:
empid-Qtr-salary
1-Q3FY16-2000
1-Q2FY16-1000
2-Q3FY16-2000
2-Q2FY16-3000
2-Q1FY16-4000
2-Q4FY15-5000
3-Q2FY16-7000
3-Q1FY16-8000
enter code here
设置2
id-qtr
1-Q3FY16
2-Q2FY16
3-Q1FY16
4-Q4FY15
预期输出
enter code here
1-Q3FY16-2000
1-Q2FY16-1000
1-Q1FY16-NULL
1-Q4FY15-NULL
2-Q3FY16-2000
2-Q2FY16-3000
2-Q1FY16-4000
2-Q4FY15-5000
3-Q3FY16-NULL
3-Q2FY16-3000
3-Q1FY16-7000
3-Q4FY15-NULL
试着加入吧。没有运气。
select s1.empid,s2.qtr,s1.salary from set1 s1
在s2.qtr = s1.qtr上右连接set2 s2 分组由s1.empid,s2.qtr,s1.salary
组成答案 0 :(得分:0)
你想要的右外连接是empid列表的CROSS JOIN(应该在它自己的表中)和四分之一列表。像这样:
areapoint.y_axis
对于每个PAIR(empid,qtr)你想要拿薪水,如果没有薪水,你想要NULL - 这就是右外连接的作用。交叉连接创建了empid和qtr的所有可能组合的集合。