-- try next: select cm.dt_yyyymmdd, t.sm_basic, t.sm_distrib from ( select db.dt_yyyyymmdd,db.sm_basic,sm_distrib from ( select dt_yyyyymmdd, sm_basic from dailybasic where id_fund='[id]' and dt_yyyymmdd between '开始日期' and '终了日期') db, ( select dt_yyyymmdd, sm_distrib from distribution where id_fund=’[id]' and st_yyyymmdd between '开始日期'and '终了日期') ds where db.dt_yyyymmdd = ds.dt_yyyymmdd ) t , (select dt_yyyymmdd from calender_master where dt_yyyymmdd between '开始日期' and '终了日期'and no_weekday<6 ) cm where t.dt_yyyymmdd=cm.dt_yyyymmdd(+) order by cm.dt_yyyymmdd asc
2、cm被两次外连接,这是不允许的
select cm.dt_yyyymmdd, t.sm_basic, t.sm_distrib
from
(
select db.dt_yyyyymmdd,db.sm_basic,sm_distrib
from
( select dt_yyyyymmdd, sm_basic from dailybasic where id_fund='[id]'
and dt_yyyymmdd between '开始日期' and '终了日期') db,
( select dt_yyyymmdd, sm_distrib from distribution where id_fund=’[id]'
and st_yyyymmdd between '开始日期'and '终了日期') ds
where db.dt_yyyymmdd = ds.dt_yyyymmdd
) t ,
(select dt_yyyymmdd from calender_master where dt_yyyymmdd between '开始日期' and '终了日期'and no_weekday<6 ) cm
where t.dt_yyyymmdd=cm.dt_yyyymmdd(+)
order by cm.dt_yyyymmdd asc
该为半角的试试