2 SQl查询中同一列的条件

时间:2013-02-25 17:11:05

标签: sql sql-server

如何在R.TypeofDayID = 2的表格中获取不同的日期,并且不应包含R.TypeofDayID = 1的日期

我可以使用以下查询获取R.TypeofDayID = 2的所有不同日期,但我不知道如何添加条件以获取TypeofDayID = 2的日期,并且日期不应该在任何行中具有TypeofDayID = 1

Select count(distinct(R.Date)) from RepInfo R   
where R.TypeofDayID = 2 and Month(R.Date) = 2 and Year(R.Date) = 2013

我希望我很清楚。这是在SQL Server 2005中。提前谢谢!

2 个答案:

答案 0 :(得分:0)

Select R.Date, count(*) as cnt
from RepInfo R   
where Month(R.Date) = 2 and Year(R.Date) = 2013
group by R.Date
having sum(case when TypeofDayID <> 2 then 1 else 0 end) = 0

答案 1 :(得分:0)

如果您希望输出是不同日期的列表,为什么在select语句中使用COUNT()函数?您是否可以通过将选择更改为以下内容来获得所需的结果:

选择distinct(R.Date)