日期:2014-05-16 浏览次数:20543 次
今天做统计时遇到一个问题,一张主表a表关联多张编码表,前台展示需要统计表内包含所有码值的统计结果(如没有该码值数据,统计结果为0),本想用多张编码表做主表,与a表做外连接,执行时才发现报错'ora-0417 表可以外部连接到至多一个其它的表'(低级错误ToT)
方法A:表a与编码表1做外连接,再将得到的结果与编码表2做外连接,然后再跟编码表3做外连接.....层层嵌套,太蛋疼,pass...
方法B:将所有编码表的码值,名称select distinct出来,得到需统计的编码的笛卡儿积,举个例吧,
SELECT DISTINCT b.vab568 naa001, b.aab301 jaa051, b.vab567 jaa050, c.aaa102 jaa003_id, c.aaa103 jaa003, d.aaa102 jaa004_id, d.aaa103 jaa004, e.din002 age_group, e.din004 age_stage FROM bi_thr_qc@dl_app b, aa10a1@dl_app c, aa10a1@dl_app d, t_age_group e WHERE c.aaa100 = 'JAA003' AND d.aaa100 = 'JAA004' AND e.dip001 = 2
done.