店铺一个段日期内做了哪些活动

店铺里一般是一段时间有优惠活动,比如五月1号-五月4号 五折


要查出店铺一段时间里做了哪些活动,比如我想知道2013-01-01  至 2014-06-06 这段时间做了哪些活动


开始用between写,实现不了

后面想到如下方法

select   *   from f_jsm 

where ('时间1'<=jsm_rq1 or '时间1' <= jsm_rq2) 
   and  (jsm_rq1<='时间2'  or  jsm_rq2<='时间2) and jsm_dm_dm='0204'


select f  *  from f_jsm 

where ('2014-04-29'<=jsm_rq1 or '2014-04-29' <= jsm_rq2) 
   and  (jsm_rq1<='2014-05-08'  or  jsm_rq2<='2014-05-08') and jsm_dm_dm='0204'

优化如下:
select  * from f_jsm 

where ('时间2' <= jsm_rq2) 
     and  (jsm_rq1<='时间1'  ) and jsm_dm_dm='0204'


select  * from f_jsm

 where ('2014-04-29' <= jsm_rq2) 
     and  (jsm_rq1<='2014-05-08'  ) and jsm_dm_dm='0204'


总结:between 是小的时间跟小的时间比,大的时间跟大的时间比

            后面的方法是大跟小比,小跟大比






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值