有一个产品价格表,一个产品可以有多个价格,现在我要取离所传日期最近的价格,算法该怎么写??有sql语句也行,请各位高手帮忙看看,万分感谢!

解决方案 »

  1.   

    你的数据表一定有“产品名称”,“价格”,“报价日期”类似这三个字段吧。
    SELECT 产品名称, 价格, 报价日期 FROM 表名称 WHERE 报价日期 BETWEEN (比传真日期早之日期,传真日期) ORDER BY 报价日期
    然后抓最后一行。 
      

  2.   

    select a.* from 产品价格表 a 
    inner join (select 产品, max(时间) as 时间 from 产品价格表 group by 主品) b 
    on a.产品=b.产品 and a.时间=b.时间
      

  3.   

    时间是可以比较大小的所以直接用MAX(时间)作为WHERE条件就可以了
      

  4.   


    Select Top 1 价格 from 产品价格表 where 产品编号='XXX' and 报价日期<=所传日期 order by 产品编号,报价日期 desc