SQL如何比较不同表中的两个日期,并仅在日期相同时显示信息

时间:2016-04-02 18:36:13

标签: sql sql-server

嗨我需要比较不同表格中的两个日期,如果日期相同则显示信息

Select f.AbsenceDate, st.StudentLastName, stc.CourseDate, c.CourseTitle,
case when f.AbsenceDate=stc.CourseDate then'missing'
else 'not the same date' End as 'date info'
 from factAbsence as f
Join dimStudent as st
on f.StudentID=st.StudentID
Join factStudentCourse as stc
on st.StudentID=stc.StudentID
Join dimCourse as c
on stc.CourseID=c.CourseID
order by f.AbsenceDate desc, CourseDate desc;

谢谢

3 个答案:

答案 0 :(得分:0)

您好比较日期是这样的:

where datediff(minute,SendDate,getdate())<=0

答案 1 :(得分:0)

好吧,首先我建议您在表格中存储日期为INT(YYYYMMDD,例如20140301),如果您打算在其上设置JOIN条件。然后,只需在两个表的两个日期列上INNER JOIN,并显示所需信息。

答案 2 :(得分:0)

你可能得到太多或只是缺少结果,因为连接不能正常工作?试试这个(你也可以使用devcon.exe而不是EXISTS),你不必加入FactAbsence表。

IN