主表
产品       ,开始日期   ,结束日期  , 价格
手机1        2013-1-1   2013-3-1   15
手机1        2013-3-1   2013-5-1   18
手机1        2013-5-1   2013-7-1   20
手机1        2013-7-1   2013-12-31 22
。。子表
客户    ,  产品      , 优惠      ,开始日期 , 结束日期
公司1      手机1       7折        2013-2-1   2013-6-31
查询结果
客户      ,产品        开始日期       结束日期     价格
公司1      手机1      2013-2-1    2013-3-1 (15*0.7)
公司1      手机1      2013-3-1    2013-5-1 (18*0.7)
公司1      手机1      2013-5-1    2013-7-1 (20*0.7)
公司1      手机1      2013-7-1    2013-6-31 (22*0.7)
。。
这样如何分割呀?就是说下面是客户优惠价格,上面是那个产品每个时间段的成本价格,然后显示的如果客户优惠价,夸了那个产品4个阶段就要显示4个。求大神啊

解决方案 »

  1.   

    数据库设计的时候 优惠那个是decimal类型,这样写出来用中文的话 容易懂不用考虑这个问题
      

  2.   


    看到了  好了 ,话说CSDN的分组对新手来说很难找 不明确啊,是否可以做的更方便点呢
      

  3.   

    select *,a.价格*(round(replace(a.优惠,'折','')*0.1),2) from 主表 a left join 子表 b 
    on a.结束日期 between b.开始日期 and b.结束日期
      

  4.   


    哈哈Sorry你的没错,你的是对我这个题目来的,我弄到真正数据上的时候那边数据和这个不同 谢谢了