帮忙看一下这个sql的意思,如有错误应如何书写!(分可再加)
select cm.dt_yyyymmdd, db.sm_basic, ds.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,
( select dt_yyyymmdd from calender_master where dt_yyyymmdd between‘开始日期‘and‘终了日期’and no_weekday<6 ) cm
where db.dt_yyyymmdd=cm.dt_yyyymmdd(+)
and ds.dt_yyyymmdd=cm.dt_yyyymmdd(+)
order by cm.dt_yyyymmdd asc
问题点数:0、回复次数:7Top
1 楼zhpsam109(JACKY.昊昊)回复于 2004-09-02 23:00:46 得分 0
查询开始日期和终了日期之间的。。。。。。。。,而且不是周末的。。。。Top
2 楼KingSunSha(弱水三千)回复于 2004-09-03 04:58:35 得分 0
1、引号都是全角字符
2、cm被两次外连接,这是不允许的Top
3 楼chibaoling(中)回复于 2004-09-03 04:59:39 得分 0
upTop
4 楼JeromeLiu(烛光)回复于 2004-09-03 08:10:06 得分 0
-- 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 ascTop
5 楼yujiabian(流氓兔子雨)回复于 2004-09-03 08:12:23 得分 0
mark!Top
6 楼shbjwq430105()回复于 2004-09-03 09:09:56 得分 0
你的单引号多大呀!
该为半角的试试Top
7 楼pgwron(情伤无痕)回复于 2004-09-03 09:15:46 得分 0
心情依然不好,没分也给你顶Top




