我每天都有一张包含员工时间/客户信息的表格。我需要记录这些信息,并按周和按月汇总。我可以这样做。
我被困的地方是,在每个月的最后一周,我需要获取此信息,如果它是一个星期(在星期六之前结束),并提取此信息并插入表格或创建视图。 / p>
这些是表格中的字段。 EmployeeID,TypeOfPay,Warehouse,UserName,WorkedHours,WorkedDate,WeekEnding,DayOfWeek
答案 0 :(得分:0)
看看这些讨论:
他们展示了如何获得mounth的最后一个星期天。 您可以在条件中说明:
每天(currentDay)> DAY(lastSunday) AND MONTH(currentDay)= MONTH(lastSunday)
答案 1 :(得分:0)
请检查:MSDN DATEPART()
;WITH Sell as (
SELECT CAST('20150826' as Date) dt, 1 Amount UNION ALL
SELECT '20150827' dt, 5 Amount UNION ALL
SELECT '20150828' dt, 4 Amount UNION ALL
SELECT '20150829' dt, 8 Amount UNION ALL
SELECT '20150901' dt, 9 Amount UNION ALL
SELECT '20150902' dt, 11 Amount UNION ALL
SELECT '20150903' dt, 3 Amount UNION ALL
SELECT '20150904' dt, 6 Amount UNION ALL
SELECT '20150905' dt, 7 Amount
)
SELECT
DATEPART(MONTH, dt) as mnth
, DATEPART(WEEK, dt) as wk
,SUM(Amount) as Sum
FROM Sell
GROUP BY DATEPART(MONTH, dt)
, DATEPART(WEEK, dt)
ORDER BY 1,2
答案 2 :(得分:0)
感谢您的帮助。
我最终创建了一个日历,并添加了一个应计列,并在月末用2标记了部分周。然后,我可以通过加入两个表来选择部分周。