2013-09-11 5 views
0

Я хочу классифицировать количество попаданий из следующего запроса. Я попытался, но это дает мне ошибку. Может ли кто-нибудь помочь?using case with count in sql

select case when (a.hit between 0 and 5) then 0 
     when (a.hit between 6 and 10) then 1 
     else 2, 

    from  

    (select 
    distinct u.USER_NAME, 
    r.VIEW_TYPE, 
    B.ORG, 

    g.CLUSTER 
    ,Count(*) As HIT 
    from 
    dbo.Parameter p, 
    dbo.Report r, 
    dbo.User u, 
    dbo.TimeStamp t, 
    dbo.UserLog f, 
    dbo.APP_USER B, 
    (
     select CLUSTER,COUNTRY 
from [dbo].[GEO] 
union 
select distinct CLUSTER,CLUSTER 
from [dbo].[GEO] 
    ) G 
     where 
    p.PARAM_ID=f.PARAM_ID 
    and r.REPORT_CUBE_ID=f.REPORT_ID 
    and u.USER_NAME=f.USER_ID 
    and r.VIEW_TYPE=f.ViewType 
    AND T.TIME_STAMP_ID=F.[TIME STAMP_ID] 
    AND u.EMAIL = B.EMAIL 
    AND u.USER_NAME=B.USER_ID 
    and p.GEO = G.COUNTRY 
    and r.VIEW_TYPE='Industry View' 

    group by CLUSTER,USER_NAME,VIEW_TYPE,b.ORG 
    order by CLUSTER,USER_NAME,VIEW_TYPE,b.ORG) a 
+1

ли вы на самом деле читать то, что была ошибка? – Vatev

ответ

1

Позвольте мне угадать:

select case when (a.hit between 0 and 5) then 0 
     when (a.hit between 6 and 10) then 1 
     else 2 
     END 
from...... 

Раджа

+0

Да, я прочитал его. Это была синтаксическая ошибка. Я не мог найти проблему с синтаксисом. :(глупый я. –

+0

@shishir_bindu Если бы это была синтаксическая ошибка, не могли бы вы отметить ответ как принятый? Не против и перевыпускать :) – Raj