我有一个名为时间表的表。其中我有以下行
ID Status ProjId ActId Date
1 pending 1 1 2014-aug-07
2 denied 1 2 2014-aug-08
3 saved 1 3 2014-aug-09
4 approved 1 4 2014-aug-10
我已使用以下查询来获得所需的结果。
SELECT * from tblTimesheet
WHERE DATEPART(wk,spentDate) = 32 AND ((timesheetstatus = 'Pending' or timesheetstatus = 'Approved') and (timesheetstatus <> 'Saved' or timesheetstatus <> 'Denied'))
我对上述查询的预期结果是 0。但我得到的结果是 1。
5 pending 1 1 2014-aug-11
6 pending 1 2 2014-aug-12
7 approved 1 3 2014-aug-13
8 approved 1 4 2014-aug-14
这种情况下我的查询有效。
SELECT * from tblTimesheet
WHERE DATEPART(wk,spentDate) = 32 AND ((timesheetstatus = 'Pending' or timesheetstatus = 'Approved') and (timesheetstatus <> 'Saved' or timesheetstatus <> 'Denied'))
我对上述查询的预期结果是 1。我得到的结果是 1。
如何在 mssql 中编写上述要求的查询。方案 1 有效。但方案 2 无效。如何达到预期的结果。任何帮助将不胜感激!!!