表1 发货记录 客户 产品 发货日期 扣率
A B 2011-4-2
。
。
。表2 折扣表 客户 产品 折扣日期 扣率
A B 2011-1-3 0.1
A B 2011-3-3 0.3
A B 2011-8-3 0.5
。
。
。
表1的发货日期2011-4-2 是在 2011-3-3 与 2011-8-3 之间, 希望能取到 0.3 的扣率写到表一扣率,如何算呢?万分感谢!
表一,表二 都是很多客户,很多产品的,根据客户和产品以及时间段三个条件匹配
A B 2011-4-2
。
。
。表2 折扣表 客户 产品 折扣日期 扣率
A B 2011-1-3 0.1
A B 2011-3-3 0.3
A B 2011-8-3 0.5
。
。
。
表1的发货日期2011-4-2 是在 2011-3-3 与 2011-8-3 之间, 希望能取到 0.3 的扣率写到表一扣率,如何算呢?万分感谢!
表一,表二 都是很多客户,很多产品的,根据客户和产品以及时间段三个条件匹配
解决方案 »
- 想学习存储过程,有没有好的教程?
- 关于ISO-8859-1转化成UTF-8的问题急急急急!!!!!!救救我!!!!!在线等!!!!!
- 怎么在存储过程里,把DATETIME字段的值转换成如20040112的形式。。。学习
- 求教:在同一张表中,有些记录字段A和字段B相等,求将字段A,B相同的记录合并成一条记录的方法。搞了几天没搞定,真心感谢.
- 一条SQL语句怎么写(超难)
- 一个视图的问题
- 从access导入数据库的问题
- 这个问题如何解决(参与的都给分)
- 如果是数据量很小的情况,用什么方法存储数据比较好?
- 关于权限控制数据库的设定
- 根据实际区间查询对应的值
- sql server2000数据库中的信息如何导出
convert(dateField,....)>'2011-3-3'
具体用法LZ自己去查下,我也记不清楚了。
*,
(select top 1 扣率 from 折扣表 where 客户 = t.客户 and 产品 = t.产品 and 折扣日期 <= t.发货日期 order by 折扣日期 desc) 扣率
from
发货记录表 t
select *,
(select top 1 扣率 from 折扣表 where 客户 = t.客户 and 产品 = t.产品 and 折扣日期 <= t.发货日期 order by 折扣日期 desc) 扣率
from 发货记录表 t
http://topic.csdn.net/u/20110826/07/3b03ee38-179f-4737-8b58-4b0dcb1b6ee1.html