有如下两张表:
表1:
地区编号      类型编号      Val
地区1         1             1
地区1         3             3
地区2         2             2
地区2         3             4表2:
类型编号      类型名称
1             类型1
2             类型2
3             类型3希望实现的统计格式如下:
地区编号     类型      Val
地区1        1         1
地区1        2         0
地区1        3         3
地区2        1         0
地区2        2         2
地区2        3         4即将以上两张表中的每个地区与每中类型的组合都要列出来,在原数据表中对应有值的,最后的统计表中Val为原值,否则为0.不知道各位前辈有没有好的解决办法,小弟已经卡在这里3天了,求各位帮帮忙,解决立刻给分,分不够可以开贴再加,谢谢各位了

解决方案 »

  1.   

    上面的统计表格式有点小错误,最终要实现的统计表格式如下:地区编号          类型名称            Val  
    地区1             类型1               1  
    地区1             类型2               0  
    地区1             类型3               3  
    地区2             类型1               0  
    地区2             类型2               2  
    地区2             类型3               4谢谢各位帮忙了
      

  2.   

    select 表1.地区编号,表2.类型名称,表1.Val
    from 表1,表2
    where 表1.类型编号 = 表2.类型编号;
      

  3.   

    AFIC(AFIC),谢谢您的帮助,但是这样统计的话,原表中没有对应值的记录显示不出来,而我希望能够在原本没有对应记录的组合上显示val为0.不知道您还有没有更好的方法.谢谢您
      

  4.   

    sorry,看错了select 表3.地区编号,表3.类型名称,nvl(表1.Val,0)
    from (select distinct 表1.地区编号,表2. 类型名称 from 表1,表2) 表3,表1
    where 表3.地区编号 = 表1.地区编号(+);
      

  5.   

    AFIC(AFIC),再次感谢,不过好象结果不正确。虽然实现了显示出所有地区和类型组合的效果,但是总数上出现了18条,而不是我所需要的2(地区)×3(类型)=6条记录的结果
      

  6.   

    在AFIC(AFIC)前辈的帮助和启发下,小弟自己搞定了这个统计,在此向AFIC(AFIC)前辈表示由衷的感谢,100分归您了^O^