我有一个带有一些字段的表格
EmpCode=a,OffID=1, FromDate=2015-01-01, ToDate='2015-01-10'
EmpCode=a,OffID=2, FromDate=2015-01-11, ToDate='2015-01-20'
EmpCode=a,OffID=1, FromDate=2015-01-21, ToDate='2015-01-29'
EmpCode=a,OffID=1, FromDate=2015-01-30, ToDate='2015-02-02'
我有2个下拉列表来选择月份和年份。我想要在月份= 1和年份= 2015年的offID计数。我怎么才能得到它。查看最后一个OffID todate是2015-02-01
答案 0 :(得分:1)
我假设您每个月都需要offID
,offID
和1st
todate
属于fromdate
个月年度相同你可以做这样的事情
Select count(offiD)
FROM tablename
WHERE (MONTH(todate) = 1 AND MONTH(fromDate) =1 )
AND (YEAR(fromDate) = 2015 AND YEAR(todate) = 2015)
如果您只想过滤一个日期,则只需删除第二个日期过滤器。
<强>更新强>
如果您要检查hardcoded
值,则需要在查询中添加单引号
您的查询
Select count(offiD)
FROM
Offdayallocation
WHERE
(MONTH(2015-01-10) = 1 AND MONTH(2015-01-01) =1 )
AND (YEAR(2015-01-01)= 2015 AND YEAR(2015-01-10) = 2015)
and EmpCode='a'
改变这样的条件,
(MONTH('2015-01-10') = 1 AND MONTH('2015-01-01') = 1 )
AND (YEAR('2015-01-01')= 2015 AND YEAR('2015-01-10') = 2015)
and EmpCode='a'
这可以解决您的问题。