Select 에서 사용된 구문을 Where 절에 사용할 경우 재 입력을 피할 수 있는 방법? 0 1 1,489

by 갈매기 [SQL Query] [2018.02.03 00:56:28]


안녕하세요? 간단한 것 같은데, 답을 알 수 없어 문의 드립니다. 답변에 미리 감사드립니다. 

 

Select 구문에 사용되는 항목을 as로 가명을 주고, where 절에서 가명을 사용할 수 있는 방법은 없는지요? 

 

제가 실제로 쓰고 있는 구문을 써서 설명을 드리자면,

SELECT	CASE	WHEN	THEN 'before' 
				WHEN	THEN 'after'
		END as status

FROM TABLE_name

WHERE	CASE	WHEN	THEN 'before' 
				WHEN	THEN 'after'
		END IS NOT NULL

CASE WHEN THEN 을 반복해서 쓰는 것 말고, status룰 사용한다던지 하는 방법을 찾고자 합니다. 

 

이상입니다. 

by 마농 [2018.02.05 08:13:04]
-- INLINE VIEW -
SELECT *
  FROM (SELECT CASE WHEN 조건1 THEN 'before'
                    WHEN 조건2 THEN 'after'
                END AS status
          FROM TABLE_name
        ) a
 WHERE status IS NOT NULL
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입