我目前在sql studio 2012中工作。我有一个列DateOrdered,ItemNumeber和requestor的表。我正在尝试编写一个select语句,它将提取在7天内已排序两次的项目编号列表。产品编号可以是不同的人或同一个人。在日期范围内选择两次项目号码,sql
回答
如果您的意思是在任何7天的期限内,那么这相当于“在另一个订单的7天内订购的项目编号列表”,对吗?
如果是这样,那么
Select distinct ItemNumber
From table t
Where exists
(Select * From table
where itemNumber = t.ItemNumber
and DateOrdered > t.DateOrdered
and DateOrdered < t.DateOrdered + 7)
这并没有解决关于被订购两次的部分。 –
是的,它的确如此。如果在7天内存在同一项目的另一条记录,则该另一条记录代表第二个订单, –
这几乎可以工作,但不会捕获重复的零件编号。你能帮助丹吗? – Cheddar
编辑:修改后的评论。
select * from table a
inner join table b
on a.itemnumber = b.itemnumber
and Abs(datediff(DD, a.dateordered, b.dateordered)) <= 7
and a.ID < b.ID --or something like this to ensure you don't return matches that are actually the same row. If you don't have an ID and the date ordered is unique for each order, replace ID with that
如果您需要两个订单/日期在一起,这将成对返回订单。如果你只是想要一个列表,使用:
select distinct a.itemnumber from table a
inner join table b
on a.itemnumber = b.itemnumber
and Abs(datediff(DD, a.dateordered, b.dateordered)) <= 7
and a.ID <> b.ID --or something like this to ensure you don't return matches that are actually the same row. If you don't have an ID and the date ordered is unique for each order, replace ID with that
注意,这将返回任何责令至少两次 - 如果你只需要订购的东西究竟两次,你将需要一个不同的查询。
- 1. 选择日期范围内使用SQL
- 2. 在日期范围内选择宿舍
- 3. 在日期范围内选择元素
- 4. 在日期范围内选择数据
- 5. jQuery日期选择器,选择范围内的特定日期
- 6. MS Access SQL选择日期范围
- 7. SQL从日期范围中选择
- 8. 执行SQL Server日期范围选择
- 9. HiveQL,Hive SQL选择日期范围
- 10. SQL Server。选择日期范围查询
- 11. 选择日期范围内的数据
- 12. 选择日期范围
- 13. 选择日期范围
- 14. 日期范围选择
- 15. sql在彼此的日期范围内选择
- 16. 日期范围选择器在结束范围内获取当前日期
- 17. 在sql日期范围内返回项目
- 18. 日期选择器日期范围
- 19. 如何在默认日期范围内给日期选择器?
- 20. SQL为每个父项/子项目系列选择一个日期范围
- 21. 选择值的范围日期值的范围内
- 22. 选择范围内的最大日期,排除其他多个日期范围
- 23. SQL来选择范围内的多个日期字段
- 24. 选择日期范围内的记录计数SQL
- 25. 与Google Analytics日期范围选择器类似的日期范围选择器?
- 26. 日期范围选择器在两个日历上显示endDate
- 27. 日期范围选择器 - 24小时范围选择
- 28. SQL通过匹配日期到日期范围来选择值?
- 29. 选定的一个月内选择2日期范围(日期选择器)
- 30. 选择日期范围内的某些日期
你是指在任何* 7天内?或者只是在特定的7天内? –
@CharlesBretana任何7天期限 – Cheddar