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

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来刷


脚本该怎么写?
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧