Sql查询中的Sql Condition运算符

时间:2014-01-24 08:31:46

标签: sql sql-server

请更正我对Select数据的查询。   如果LeaveApply表中的条目在表格中的from dateto date之间有给定日期,那么我应该获得表格pK的{​​{1}}。

请帮助

zero

2 个答案:

答案 0 :(得分:1)

您必须将isnull应用于列,而不是整个查询。

尝试以下

select ISNULL(LeaveApply_Id,0) AS ID from Tbl_Stud_Leave_Apply 
where Candidate_Id= @Candidate and (@date between Stud_LeaveFromDate and Stud_LeaveToDate)

在上面@Candidate@date动态传递给查询。

答案 1 :(得分:0)

请注意,如果您对大量结果进行查找,则应考虑基于集合的查找方法,例如

SELECT 
   c.*,
   ISNULL(l.LeaveApply_Id, 0) AS IsLeave
FROM 
  Candidates c
  LEFT OUTER JOIN Tbl_Stud_Leave_Apply l
    on l.Candidate_Id=c.ID AND @Date between Stud_LeaveFromDate and Stud_LeaveToDate;