2013-03-28 3 views
2

SQL에 익숙하지 않고 Access 2013을 사용하고 있습니다. 열의 값을보고 열의 각 레코드에 범주 번호를 할당하는 CASE 문을 생성하려고합니다. 내 코드를 실행하려고하면 "누락 된 연산자"메시지가 계속 나타납니다. 아래 코드를 열거하고 도움을 주셔서 감사합니다. 감사합니다SQL CASE STATEMENT - MISSING OPERATOR ERROR

SELECT P.REGISTRATION_NUMBER, P.DATA_INDICATOR, D.TERRITORY_ID, P.PRODUCT_NAME, P.JAN_13_TRX, P.DEC_12_TRX, P.NOV_12_TRX, P.OCT_12_TRX, P.SEPT_12_TRX, P.AUG_12_TRX, P.JULY_12_TRX, P.JUNE_12_TRX, P.MAY_12_TRX, P.APR_12_TRX, P.MAR_12_TRX, P.FEB_12_TRX, (P.JAN_13_TRX+P.DEC_12_TRX+P.NOV_12_TRX+P.OCT_12_TRX+P.SEPT_12_TRX+P.AUG_12_TRX+P.JULY_12_TRX+P.JUNE_12_TRX+P.MAY_12_TRX+P.APR_12_TRX+P.MAR_12_TRX+P.FEB_12_TRX) AS ROLLING_12 INTO ESTROGEL_WITH_ROLLING_12 
FROM Ascend_presc_data AS P INNER JOIN Ascend_demo AS D ON P.REGISTRATION_NUMBER = D.REGISTRATION_NUMBER 
WHERE (((P.DATA_INDICATOR)=1) AND ((P.PRODUCT_NAME)='ESTROGEL')) 
(CASE 
WHEN P.ROLLING_12 > 199 THEN 10 
WHEN P.ROLLING_12 > 99 THEN 9 
WHEN P.ROLLING_12 > 49 THEN 8 
WHEN P.ROLLING_12 > 19 THEN 7 
WHEN P.ROLLING_12 > 9 THEN 6 
WHEN P.ROLLING_12 > 4 THEN 5 
WHEN P.ROLLING_12 = 4 THEN 4 
WHEN P.ROLLING_12 = 3 THEN 3 
WHEN P.ROLLING_12 = 2 THEN 2 
WHEN P.ROLLING_12 = 1 THEN 1 
ELSE 0 
END) AS CATEGORY; 

답변

3
SELECT 
     P.REGISTRATION_NUMBER, 
     ... 
    FROM 
     Ascend_presc_data AS P 
     ... 
    WHERE (((P.DATA_INDICATOR)=1) AND ((P.PRODUCT_NAME)='ESTROGEL')) 
     AND <<MISSING STATEMENT>> = 
     (SWITCH 
     P.ROLLING_12 > 199,10 
     P.ROLLING_12 > 99, 9 
     P.ROLLING_12 > 49, 8 
     P.ROLLING_12 > 19, 7 
     P.ROLLING_12 > 9, 6 
     P.ROLLING_12 > 4, 5 
     P.ROLLING_12 = 4, 4 
     P.ROLLING_12 = 3, 3 
     P.ROLLING_12 = 2, 2 
     P.ROLLING_12 = 1, 1 
     END));