Reputation: 71
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