表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 的扣率写到表一扣率,如何算呢?万分感谢!
表一,表二 都是很多客户,很多产品的,根据客户和产品以及时间段三个条件匹配
解决方案 »
- 关于SQL中通过链接服务器执行分布式事务过程时只能查询不能执行insert update delete等操作
- 传参问题
- 如何将ACCESS数据库的数据移植到SQL数据库中
- 楼内单位都是内网IP,用一个外网IP,今天1433端口被封,我连不上sqlservers了。请问有什么办法么?
- 请教:各位帮看看我这个存储过程错在那里。。。
- 不能将值 NULL 插入列 'Id',表 'guahao.dbo.Detail';列不允许有空值。INSERT 失败。
- 我怎么样才能查看我备分的日志文件:hisdb_tlog_200308230000.TRN
- 事务复制问题,老是报超时,究竟是怎么回事呢?(邹老大在吗?)大家来帮忙呀
- 谁能帮我合并2个表的数据啊?急啊
- 今天减昨天查询语句
- 请教列表页信息排序问题
- SQLserver如何匹配时间区间,回写扣率
and 客户 = 'A' and 产品 = 'B'
order by 折扣日期 desc
select top 1 扣率 from 表2
where 客户 = 'A' and 产品 = 'B' and
折扣日期 between '2011-3-3' and '2011-8-3' order by 折扣日期
select *,
(select top 1 扣率 from 折扣表 where 客户 = t.客户 and 产品 = t.产品 and 折扣日期 <= t.发货日期 order by 折扣日期 desc) 扣率
from 发货记录表 t
*,
(select top 1 扣率 from 折扣表 where 客户 = t.客户 and 产品 = t.产品 and 折扣日期 <= t.发货日期 order by 折扣日期 desc) 扣率
from
发货记录表 t