日期:2014-05-17  浏览次数:20811 次

如何得到这样的视图或结果集,在线等,急!!!!.......
视图1得到结果集格式

x           y
1           0
2           1
3           4


视图2得到结果集

x       z
1       7
2       5
3       8


现在要得到这样的结果集

x       y       z
1       0       7
2       1       5
3       4       8  




------解决方案--------------------
SQL> select * from t1;

X Y
---------- ----------
1 0
2 1
3 4
5 6

SQL> select * from t2;

X Z
---------- ----------
1 7
2 5
3 8
4 10

1* select t1.x,t1.y,t2.z from t1 full outer join t2 on t1.x = t2.x
SQL> /

X Y Z
---------- ---------- ----------
1 0 7
2 1 5
3 4 8
5 6
10

恩,由于输出的是t1.x,所以,t2.x=4那条记录虽然出现了,但是没有显示X,有点小失败。
SQL> select t1.x,t1.y,t2.z from t1,t2 where t1.x=t2.x(+)
2 union
3 select t2.x,t1.y,t2.z from t1,t2 where t2.x=t1.x(+);

X Y Z
---------- ---------- ----------
1 0 7
2 1 5
3 4 8
4 10
5 6
这样好多了。