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

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


1
2
3
4
5
6
7
8
9
10
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]
1
2
3
4
5
6
7
8
9
10
11
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() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입