如何从SQL数据创建一个3周的轮换时间表?——编辑

本文关键字:3周 时间表 编辑 一个 SQL 数据 创建 | 更新日期: 2023-09-27 18:17:21

我正在为使用3周轮换菜单的自助餐厅构建应用程序。下面是一个简单的DB结构:

Foodnum(int - PK - auto incrementing field)
FoodName(nvarchar - name of an Item)
FoodStation(nvarchar - name of station in cafeteria i.e grill, entree, salad bar)
WeekNum(int field -  containing 1 - 3)
DayNum(int field - containing 1 - 7)

我将如何去旋转以下3周,然后循环(重新开始)没有在sql中存储开始日期。这可能吗?

我刚刚创建了另一个表,它在一个名为startdate的列中所拥有的只是设置为datetime.now的标签值。所以它的值现在是2013-06-07 14:24:08.000

如何从SQL数据创建一个3周的轮换时间表?——编辑

如果保持相同的结构,并在查询的where子句中执行类似

的操作,该怎么办?
WHERE WeekNum = (DATEPART(WEEK, GETDATE()) % 3) + 1

这样你总是得到1 - 3之间的数字。今天是第23周,所以应该是第3周的Menu。

@user185791这就是我最终使用的。非常感谢你指出了正确的方向。我觉得把这个答案加进去是很有用的,因为我知道会有人觉得这个答案很有用。

WHERE [WeekNum] = (DATEPART(WEEK, GETDATE()) % 3) + 1 AND [DayNum] = DATEPART(DW, GETDATE())

非常感谢!