I am new to using SQL Server and I am trying to convert this query to something I can use in SQL Server. I've been googling to find the right structure but I can't seem to see anything referring to 'user-defined-variables' at all.
Any help would be appreciated.
Overview of what I am trying to achieve...
I have 6 columns and I need to get the median of the 6 columns but only where there is at least 4 responses. Possible values in the field are 1-5 with 0 being a non-response.
SELECT
GCAID,
@countOfValuesGSS1 := (
CASE
WHEN CEQ106 BETWEEN 1 AND 5 THEN 1 ELSE 0 END +
CASE
WHEN CEQ114 BETWEEN 1 AND 5 THEN 1 ELSE 0 END +
CASE
WHEN CEQ123 BETWEEN 1 AND 5 THEN 1 ELSE 0 END +
CASE
WHEN CEQ132 BETWEEN 1 AND 5 THEN 1 ELSE 0 END +
CASE
WHEN CEQ142 BETWEEN 1 AND 5 THEN 1 ELSE 0 END +
CASE WHEN CEQ143 BETWEEN 1 AND 5 THEN 1 ELSE 0 END),
@sumOfValuesGSS1 := (
CASE
WHEN CEQ106 BETWEEN 1 AND 5 THEN CEQ106 ELSE 0 END +
CASE
WHEN CEQ114 BETWEEN 1 AND 5 THEN CEQ114 ELSE 0 END +
CASE
WHEN CEQ123 BETWEEN 1 AND 5 THEN CEQ123 ELSE 0 END +
CASE
WHEN CEQ132 BETWEEN 1 AND 5 THEN CEQ132 ELSE 0 END +
CASE
WHEN CEQ142 BETWEEN 1 AND 5 THEN CEQ142 ELSE 0 END +
CASE
WHEN CEQ143 BETWEEN 1 AND 5 THEN CEQ143 ELSE 0 END),
if(@countOfValuesGSS1 >= 4, ROUND((@sumOfValuesGSS1/@countOfValuesGSS1),2), NULL) AS b_GSSMAJ1,
MAJ1,
FROM
v_ags_all