日期:2014-05-17 浏览次数:20945 次
select /*+index(c01d SYS_C003420)*/n5001 门店,n5002 部门,n5004 小分类,n5019 商品编码,c01d21 商品名称, nvl(xse,0)-nvl(dzxs,0) 销售, mle 毛利, nvl(xl,0)-nvl(dzsl,0) 销量 from (select g08,g09,g02,sum(g03*g07) dzxs,sum(G03) dzsl from batchgoods where g04 between to_date('20100401','yyyymmdd') and to_date('20100430','yyyymmdd') group by g08,g09,g02), c01d,(select n5001,n5002,n5004,n5019,sum(n5011) xse,sum(n5016) mle,sum(n5023) xl from n50 where n5010 between to_date('20100401','yyyymmdd') and to_date('20100430','yyyymmdd') group by n5001,n5002,n5004,n5019) where n5001=g08(+) and n5019=g02(+) and n5001=c01d00(+) and n5019=c01d01(+)
SELECT STATEMENT, GOAL = CHOOSE Cost=32884 Cardinality=30832 Bytes=3730672 MERGE JOIN OUTER Cost=32884 Cardinality=30832 Bytes=3730672 SORT JOIN Cost=32833 Cardinality=30832 Bytes=2651552 NESTED LOOPS OUTER Cost=31974 Cardinality=30832 Bytes=2651552 VIEW Object owner=FZDC Cost=1098 Cardinality=30832 Bytes=1880752 SORT GROUP BY Cost=1098 Cardinality=30832 Bytes=1171616 TABLE ACCESS BY INDEX ROWID Object owner=FZDC Object name=N50 Cost=668 Cardinality=30832 Bytes=1171616 INDEX RANGE SCAN Object owner=FZDC Object name=IND_N500312_N5010 Cost=86 Cardinality=30832 TABLE ACCESS BY INDEX ROWID Object owner=FZDC Object name=C01D Cost=2 Cardinality=1 Bytes=25 INDEX RANGE SCAN Object owner=FZDC Object name=SYS_C003420 Cost=1 Cardinality=1 SORT JOIN Cost=51 Cardinality=1308 Bytes=45780 VIEW Object owner=FZDC Cost=26 Cardinality=1308 Bytes=45780 SORT GROUP BY Cost=26 Cardinality=1308 Bytes=62784 TABLE ACCESS BY INDEX ROWID Object owner=FZDC Object name=BATCHGOODS Cost=6 Cardinality=1308 Bytes=62784 INDEX RANGE SCAN Object owner=FZDC Object name=IND_BATGD2 Cost=2 Cardinality=2355
select /*+ use_hash(t1 t2 t3) */ n5001 门店, n5002 部门, n5004 小分类, n5019 商品编码, c01d21 商品名称, nvl(xse, 0) - nvl(dzxs, 0) 销售, mle 毛利, nvl(xl, 0) - nvl(dzsl, 0) 销量 from (select g08, g09, g02, sum(g03 * g07) dzxs, sum(G03) dzsl from batchgoods where g04 between to_date('20100401', 'yyyymmdd') and to_date('20100430', 'yyyymmdd') group by g08, g09, g02 ) t1, c01d t2, (select n5001, n5002, n5004, n5019, sum(n5011) xse, sum(n5016) mle, sum(n5023) xl from n50 where n5010 between to_date('20100401', 'yyyymmdd') and to_date('20100430', 'yyyymmdd') group by n5001, n5002, n5004, n5019 ) t3 where n5001 = g08(+) and n5019 = g02(+) and n5001 = c01d00(+) and n5019 = c01d01(+)