T-SQL查询没有正确分组

时间:2015-01-23 10:34:26

标签: sql group-by case

我已编写此查询以从案例陈述中提取计数,并加入天数列表。但查询未正确分组。知道我需要做什么吗?

select      A.DayName,
        A.DayNumber,
        count(case
        when cast([B].ReturnedDateTime as Time) <= '12:00:00' then 1 else null
        end) as AMCount
from        TSP1_Dev.General.Days A left outer join TSP1_Dev.iOPS.RejectedJobs B
on          A.DayName = B.DayName
group by     A.DayName, A.DayNumber, 
        case
        when cast([B].ReturnedDateTime as Time) <= '12:00:00' then 1 else null
        end
order by     A.DayNumber

我得到的输出是:

DayName DayNumber   AMCount
Monday  1   0
Monday  1   1
Tuesday 2   0
Tuesday 2   2
Wednesday   3   0
Thursday    4   0
Thursday    4   2
Friday  5   0

2 个答案:

答案 0 :(得分:0)

试试这个:

select      A.DayName,
    Max(A.DayNumber) DayNumber,
    Sum(case
    when cast([B].ReturnedDateTime as Time) <= '12:00:00' then 1 else 0
    end) as AMCount
from        TSP1_Dev.General.Days A left outer join TSP1_Dev.iOPS.RejectedJobs B
on          A.DayName = B.DayName
group by     A.DayName
order by     A.DayNumber

答案 1 :(得分:0)

糟糕!我不需要按案例陈述进行分组 - 当我把它拿出来时,它完美地运作了。