꽤 많은 조건에 따라 반환되는 몇 가지 열을 계산 해야하는 SQL 쿼리를 작성 중입니다.
나는 현재 중첩 된 case 문을 사용하고 있지만 지저분 해집니다. 더 나은 (보다 체계적이고 읽기 쉬운) 방법이 있습니까?
(저는 Microsoft SQL Server 2005를 사용하고 있습니다)
간단한 예 :
SELECT
col1,
col2,
col3,
CASE
WHEN condition
THEN
CASE
WHEN condition1
THEN
CASE
WHEN condition2
THEN calculation1
ELSE calculation2
END
ELSE
CASE
WHEN condition2
THEN calculation3
ELSE calculation4
END
END
ELSE
CASE
WHEN condition1
THEN
CASE
WHEN condition2
THEN calculation5
ELSE calculation6
END
ELSE
CASE
WHEN condition2
THEN calculation7
ELSE calculation8
END
END
END AS 'calculatedcol1',
col4,
col5 -- etc
FROM table
CASE WHEN