쿼리의 결과를 가로 한줄로 보고싶은데..도움 요청드립니다. 0 2 766

by DB 꿈나무 [Oracle 기초] [2019.04.25 14:41:26]


20190425_143752.png (26,420Bytes)
20190425_142011.png (50,677Bytes)
20190425_141127.png (57,127Bytes)

SELECT ROUTEID as 노선ID,
       FC_BUSROUTE_ROUTENO(ROUTEID) 노선번호,
       FC_BUS_CARREGNO(BUSID) AS 버스번호,
       FC_BUSSTOP_SHORTID(NODEID)  as 정류장ID,
       FC_BUSSTOP_BSTOPNM(NODEID) AS 정류소명,
       DECODE(FC_PATHSEQ_DIRCD(ROUTEID, PATHSEQ), 0, '상행', 1, '하행') AS 상행하행,
       DECODE(EVTSUBTPCD, 2, '도착', 3, '출발') AS 이벤트,
       EVT_OCCURDT AS 이벤트시간
FROM
(SELECT
       ROUTEID,
       BUSID,
       NODEID,
       EVTSUBTPCD,
       EVT_OCCURDT,
       PATHSEQ
FROM TB_BMH_RUNEVTCOLL
where TB_BMH_RUNEVTCOLL.EVTTPCD = 21
AND EVTSUBTPCD IN (2, 3)
and TB_BMH_RUNEVTCOLL.NODEID in (121000006,
121000005,
121000003,
121000002,
121000001)
AND EVT_OCCURDT>  TO_DATE('20190329000000','YYYYMMDDHH24MISS')
AND EVT_OCCURDT < TO_DATE('20190329235959','YYYYMMDDHH24MISS')
ORDER BY EVT_OCCURDT) A
order by 3,8,5

쿼리 결과는 아래랑 같은데 이 결과 아래것들 처럼 한줄로 만들수 있을까요?

둘중하나의 형태만 되면 되는데 구글링을 해봐도 방법을 모르겠습니다

by 마농 [2019.04.25 16:43:13]
SELECT routeid                      AS 노선id
     , fc_busroute_routeno(routeid) AS 노선번호
     , fc_bus_carregno(busid)       AS 버스번호
     , fc_busstop_shortid(nodeid)   AS 정류장id
     , fc_busstop_bstopnm(nodeid)   AS 정류소명
     , DECODE(fc_pathseq_dircd(routeid, pathseq), 0, '상행', 1, '하행') AS 상행하행
     , MIN(DECODE(evtsubtpcd, 2, evt_occurdt)) 도착
     , MIN(DECODE(evtsubtpcd, 3, evt_occurdt)) 출발
  FROM tb_bmh_runevtcoll
 WHERE evttpcd = 21
   AND evtsubtpcd IN (2, 3)
   AND nodeid IN (121000006, 121000005, 121000003, 121000002, 121000001)
   AND evt_occurdt >= TO_DATE('20190329', 'yyyymmdd')
   AND evt_occurdt <  TO_DATE('20190329', 'yyyymmdd') + 1
 GROUP BY routeid
     , busid
     , nodeid
     , pathseq
 ORDER BY 버스번호, 도착, 정류소명
;

 


by DB 꿈나무 [2019.04.25 16:57:47]

정말 감사합니다 마농님. 마농님 쿼리 보고 검색해서 이것저것 찾아봤는데 의외로 간단한거라 놀랐네요 ㅠㅠ

감사합니다~ ^^

 

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