sqlserver 查询临近时间的纪录

有两个表 

A表 有 单据时间,商品

单据时间商品
2018-3-9 12:00iphone7
2018-3-9 12:30iphone7
2018-3-9 12:50iphone7

B表 有 商品 单价 时间

商品单价时间
iphone712018-3-9 11:00
iphone722018-3-9 12:15
iphone732018-3-9 12:35

然后期待得到 根据单据时间来匹配到“商品对应价格”

比如“12:00”设置了个1块钱,“13:00”设置了2块钱,在12点后有个单据产生,那么就取12点的价格1块钱

例如上面的A、B表数据  期待得到的结果是:

单据时间商品促销价
2018-3-9 12:00iphone71
2018-3-9 12:30iphone72
2018-3-9 12:50iphone72

 那么问题来了,你们会怎么写这个查询?


30秒到达战场
浏览 742回答 1
1回答

ibeautiful

如果是我的话,我应该会这么做。select A表.单据时间,A表.商品,B表.促销价 from A表,B表where (B表.单据时间==( select &nbsp;max(单据时间)&nbsp;from B表 where B表.单据时间<= A表.单据时间 ))我的sql不是很熟悉,上面大概能看出个思路。你试试?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server