조회쿼리 짜는중 막히는 부분이 있어 질문드립니다. 0 1 1,332

by 너구링 [Oracle 기초] 오라클 쿼리 [2018.05.21 14:07:00]


SELECT tcs.fn_ConvPlazaNm(PLID) PLNM, 
               LANENO,
               LANETYPE,
               WORKSTAT,
               SIGSTAT,
               COMSTAT,
               TO_CHAR(TO_DATE(HHBB, 'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS') HHBB,
               LANENOP
          FROM tcs.VW_LANESTAT
          ORDER BY PLNM, LANENO ASC;

위 쿼리 결과는

PLNM    LANENO   LANETYPE WORKSTAT SIGSTAT  COMSTAT   HHBB                    LANENOP

천안    01(상행01 )    TCS       근무중       녹색     CONNECT    2018-05-21 13:59:49    01
천안    02(상행02 )    TCS       근무중       적색     CONNECT    2018-05-21 13:59:36    02

 

이렇게 조회되는데 로우마다 녹색인 경우 O 라는 명명을 로우마다 추가해주고... 적색인경우 해당 로우에 X라는 명명을 주고싶은데 어떻게 추가해야 하나요?

화면단에서 일일이 조건문을 걸어주는게 비효율적인것같아... 혹시 방법이 있다면 조언 부탁드립니다. 

by 우리집아찌 [2018.05.21 17:13:41]
SELECT tcs.fn_ConvPlazaNm(PLID) PLNM, 
	   LANENO,
	   LANETYPE,
	   WORKSTAT,
	   SIGSTAT,
	   COMSTAT,
	   TO_CHAR(TO_DATE(HHBB, 'YYYYMMDDHH24MISS'), 'YYYY-MM-DD HH24:MI:SS') HHBB,
	   LANENOP,
	   CASE WHEN SIGSTAT = '녹색' THEN 'O' ELSE 'X' END AS "명명"   -- SIGSTAT이 NOT NULL 이고 상태값이 두개일경우만 상태값이 2개이상이면 WHEN으로 조건 추가
  FROM tcs.VW_LANESTAT
  ORDER BY PLNM, LANENO ASC;

 

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