hotseetotsee
hotseetotsee

Reputation: 71

multiple condition in select statement

I have a SELECT statement that contains a multiple conditions.

Here is my code for the query:

SELECT 
    G.CLOSED_MONTH, EE.BASIC_SALARY, V.EMPLOYEE_NO, G.CLOSED_YEAR
    CASE 
       WHEN ((G.CLOSED_YEAR = YEAR (GETDATE()) AND G.CLOSED_MONTH <= MONTH (GETDATE()) 
          THEN EE.BASIC_SALARY) 
       WHEN (G.CLOSED_YEAR BETWEEN EE.DATE_JOINED AND YEAR (GETDATE()) 
          THEN CASE 
                  WHEN V.ACTIVITY_TYPE = '0'
                     THEN EE.BASIC_SALARY - V.ACTIVITY_VALUE 
                     ELSE EE.BASIC_SALARY + V.ACTIVITY_VALUE 
               END)
       ELSE ((G.CLOSED_YEAR = YEAR (EE.DATE_JOINED) AND G.CLOSED_MONTH >= MONTH (EE.DATE_JOINED)
        THEN CASE WHEN V.ACTIVITY_TYPE = '0'
        THEN EE.BASIC_SALARY - V.ACTIVITY_VALUE 
    ELSE 
        EE.BASIC_SALARY + V.ACTIVITY_VALUE
    END) 
    END AS NEW_BASICSALARY
FROM 
    GENERAL_SPECIFICATION G
JOIN 
    EMPLOYEE_EMPLOYMENT EE ON G.COMPANY_CODE = EE.COMPANY_CODE
JOIN 
    V_EMPLOYEE_PAYACT V ON EE.EMPLOYEE_ID = V.EMPLOYEE_ID

When I try to run the query, it keeps on getting error:

Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'CASE'.

Upvotes: 1

Views: 76

Answers (1)

0xsegfault
0xsegfault

Reputation: 3161

You are missing a ',' before the first CASE

Upvotes: 2

Related Questions