现在有两个视图,V_TEST1,V_TEST2;
查询:
SELECT * FROM V_TEST2; 一共有29条记录
SELECT HINAMOUNT,HINWEIGHT,DAILYKUCUNCOUNT,DIALYKUCUNWEIGHT FROM V_TEST1 WHERE TIME='20060421'一共有13条记录,
两个视图里面都有STEELGRADE的字段,V_TEST1和V_TEST2里面的字段除了STEELGRADE没有别的字段相同,要求是把两个视图连接起来,以最大的记录作为标准,没有的显示空.我用了以下语句
select  b.steelgrade, a.HINAMOUNT,a.HINWEIGHT,a.DAILYKUCUNCOUNT,a.DIALYKUCUNWEIGHT from v_test1 a,v_test2 b where time = '20080421' 
and a.steelgrade=b.steelgrade(+)
查询出来的结果只有13条,其实应该是按照V_TEST1的记录共29条,我用了外连接但是一直是这样,有问题,麻烦看一下什么原因,谢谢!

解决方案 »

  1.   

    select  b.steelgrade, a.HINAMOUNT,a.HINWEIGHT,a.DAILYKUCUNCOUNT,a.DIALYKUCUNWEIGHT from v_test1 a,v_test2 b where time = '20080421'  and a.steelgrade=b.steelgrade(+) 
    time = '20080421'已经限制了,外联结也没用吧。
      

  2.   

    不知道你要的结果数据什么样。
    你先把time = '20080421'  去掉 然后看看数据再加条件了。
      

  3.   

    不能把这个条件去掉,我的意思是通过STEELGRADE把两个表关联起来,至于比如在V_TEST1中的其他字段内容在V_TEST2中如果没有,那么就是空