两表间比对和刷数据的问题

sinat_19587443 2015-12-10 01:43:34
各位大神求教,

现有两个表
单价表 A(字段:P_no,price,s_date,end_date)
进货单 B(字段:P_no,price,date)

现在要把A表中的单价刷到B表中,但是单价有开始和结束时间,在刷的时候要跟进货单时间进行比对

比如说11.1-11.15是一个单价a,11.16-11.31是单价b,那我刷到表B时候11.1-11.15的进货单按理应该用单价a来刷


脚本该怎么写?
...全文
64 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
t101lian 2015-12-10
update b set b.price=a.price from b inner join a  on 
b.P_no=a.P_no and b.date between a.s_date and a.end_date
回复
道素 2015-12-10

WITH price(P_no,price,s_date,end_date) AS 
(
	SELECT 1,10.00,CONVERT(DATETIME,'11/01/2015'),CONVERT(DATETIME,'11/30/2015')
	UNION
	SELECT 1,15.00,'12/01/2015','12/31/2015'
)

SELECT * FROM price AS p WHERE DATEDIFF(d,p.s_date,GETDATE())>=0 AND DATEDIFF(d,GETDATE(),p.end_date)>=0
-- or WHERE GETDATE() BETWEEN p.s_date AND p.end_date
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-12-10 01:43
社区公告
暂无公告