我試圖讓一個聚合函數和case語句的查詢工作在我的select和一組通過case語句在SQL Server 2005中工作,但我似乎失蹤一些東西。由案例陳述的結果組
declare @td int
set @td = 20130731
select
count(*) as total,
case
when dateadd(s, cdm.[StartTime], '19700101') >= '2013-07-31 00:00:00.000' and dateadd(s, cdm.[StartTime], '19700101') < '2013-07-31 01:00:00.000'
then '0-1'
end as timestripe
FROM
[EXTERNAL_CDR].[dbo].[CDRMAIN] as cdm
WHERE
cdm.LocalDay = @td
AND cdm.targetnum IN ('500','600')
GROUP BY
timestripe
的count(*)
部分是一個有點弱,但我知道這個問題是跟團的聲明。當我運行此查詢,我得到以下錯誤:
Msg 207, Level 16, State 1, Line 15
Invalid column name 'timestripe'.
看來這個case語句是錯誤的根本原因,但我不應該寫一個子查詢或加入只是爲了得到這個工作。有任何想法嗎?
該查詢最多可以生成兩行:一個用於'0-1',也可能一行用於'NULL'timestripe。 –