⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usp_selecttimesheet.sql

📁 Beginning VB.NET DatabasesAll_Code.rar
💻 SQL
字号:
CREATE PROCEDURE usp_SelectTimeSheet
(
   @UserID           UNIQUEIDENTIFIER,
   @WeekEndingDate   DATETIME
)
AS
-- Select the TimeSheetID, Submitted, ProjectID and ProjectName
SELECT TimeSheets.TimeSheetID, Submitted, Projects.ProjectID, ProjectName, 
   -- Select the TimeSheetItemID and Hours for Monday
   Monday.TimeSheetItemID AS MondayTimeSheetItemID, 
   Monday.Hours AS MondayHours,
   -- Select the TimeSheetItemID and Hours for Tuesday
   Tuesday.TimeSheetItemID AS TuesdayTimeSheetItemID, 
   Tuesday.Hours AS TuesdayHours, 
   -- Select the TimeSheetItemID and Hours for Wednesday
   Wednesday.TimeSheetItemID AS WednesdayTimeSheetItemID, 
   Wednesday.Hours AS WednesdayHours, 
   -- Select the TimeSheetItemID and Hours for Thursday
   Thursday.TimeSheetItemID AS ThursdayTimeSheetItemID, 
   Thursday.Hours AS ThursdayHours,
   -- Select the TimeSheetItemID and Hours for Friday
   Friday.TimeSheetItemID AS FridayTimeSheetItemID, 
   Friday.Hours AS FridayHours
-- TimeSheets is the main table
FROM TimeSheets
-- Join TimeSheetItems table for Monday's data
LEFT OUTER JOIN TimeSheetItems Monday ON 
   TimeSheets.TimeSheetID = Monday.TimeSheetID 
   AND Monday.TimeSheetDate = DATEADD(day,-4,@WeekEndingDate)
-- Join Projects table for Project names
LEFT OUTER JOIN Projects ON 
   Monday.ProjectID = Projects.ProjectID
-- Join TimeSheetItems table for Tuesday's data
LEFT OUTER JOIN TimeSheetItems Tuesday ON 
   TimeSheets.TimeSheetID = Tuesday.TimeSheetID 
   AND Tuesday.ProjectID = Monday.ProjectID 
   AND Tuesday.TimeSheetDate = DATEADD(day,-3,@WeekEndingDate)
   - Join TimeSheetItems table for Wednesday's data
LEFT OUTER JOIN TimeSheetItems Wednesday ON 
   TimeSheets.TimeSheetID = Wednesday.TimeSheetID 
   AND Wednesday.ProjectID = Monday.ProjectID 
   AND Wednesday.TimeSheetDate = DATEADD(day,-2,@WeekEndingDate)
-- Join TimeSheetItems table for Thursday's data
LEFT OUTER JOIN TimeSheetItems Thursday 
   ON TimeSheets.TimeSheetID = Thursday.TimeSheetID 
   AND Thursday.ProjectID = Monday.ProjectID 
   AND Thursday.TimeSheetDate = DATEADD(day,-1,@WeekEndingDate)
-- Join TimeSheetItems table for Friday's data
LEFT OUTER JOIN TimeSheetItems Friday ON 
   TimeSheets.TimeSheetID = Friday.TimeSheetID 
   AND Friday.ProjectID = Monday.ProjectID 
   AND Friday.TimeSheetDate = @WeekEndingDate
-- Search criteria is the WeekEndingDate and UserID
WHERE WeekEndingDate = @WeekEndingDate
   AND UserID = @UserID
-- Order the results by the SequenceNumber of the projects
ORDER BY SequenceNumber

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -