2012-09-18 15 views
3

我需要將一列LeadDate(數據類型爲datetime)與另一個表(名爲EmployeeWorkTime)中保存的值進行比較。 LeadDate列的格式是這樣的「2006-08-08 11:50:51。000」。如何在表上進行雙重比較

的employeeworktime表是這樣的:

SyStaffId  Associate Name   Monday Tuesday Wednesday Thursday Friday Saturday  Sunday 
34128   Natasha Dawson   0919  0918  0920  0918  0918  WKEND   WKEND  
34169   Elaine Bueno    0918  1019  0918  1019  0918  WKEND   WKEND  
34385   Aida Rodriguez   0918  1019  0918  1019  0918  WKEND   WKEND  
34419   Sy Lim     1019  1019  1019  1019  0918  WKEND   WKEND  

我創建一個視圖,包括我需要比較的各個領域。新觀點與附件一樣。但是,當我想比較交易時間和時間列中的值時。我有一些困難。由於前導日期不同,因此它們在DayofWeekName列中,我想將前置時間與只有一個與前一天相同的列進行比較。我怎麼能這樣做?

例如,第一領先,dayofweekname是Thursay,我想copmare的交貨期這是leadhour列到週四列,我怎麼會寫代碼來實現它。

非常感謝。

用於創建新視圖的命令:

Create View dbo.cstAdmissionDailyReportLeadCount_jy 
AS 
SELECT  dbo.syStudent.AmRepID, dbo.syStudent.LeadDate, DATEPART(dw, syStudent.LeadDate) AS DayofWeekNumber, DATEPART(hh, syStudent.LeadDate) 
         AS LeadHour, dbo.EmployeeWorkTime.[Associate Name], DATENAME(dw, syStudent.LeadDate) AS DayofWeekName, EmployeeWorkTime.Monday, 
         EmployeeWorkTime.Tuesday, EmployeeWorkTime.Wednesday, EmployeeWorkTime.Thursday, EmployeeWorkTime.Friday, 
         EmployeeWorkTime.Saturday, EmployeeWorkTime.Sunday, CASE WHEN DATEPART(hh, syStudent.LeadDate) 
         < 18 THEN 1 ELSE 0 END AS CountAsEffectiveLead 
FROM   dbo.syStudent INNER JOIN 
         dbo.EmployeeWorkTime ON dbo.syStudent.AmRepID = dbo.EmployeeWorkTime.SyStaffId 

回答

0

是否加給你的SELECT子句的幫助?

case when DATENAME(dw, syStudent.LeadDate) = "Monday" then EmployeeWorkTime.Monday 
when DATENAME(dw, syStudent.LeadDate) = "Tuesday" then EmployeeWorkTime.Tuesday 
when DATENAME(dw, syStudent.LeadDate) = "Wednesday" then EmployeeWorkTime.Wednesday 
when DATENAME(dw, syStudent.LeadDate) = "Thursday" then EmployeeWorkTime.Thursday 
when DATENAME(dw, syStudent.LeadDate) = "Friday" then EmployeeWorkTime.Friday 
when DATENAME(dw, syStudent.LeadDate) = "Saturday" then EmployeeWorkTime.Saturday 
else EmployeeWorkTime.Sunday end as ewt_day