VDS구간 교통량 정보조회.sql 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. SELECT A.LINK_ID, C.NODE_NAME AS STR_NAME, D.NODE_NAME AS END_NAME,
  2. F.VDS_CTLR_NMBR, F.VDS_NM
  3. FROM TB_VDS_DTCT_RLTN_LINK A,
  4. TB_LINK B,
  5. TB_NODE C,
  6. TB_NODE D,
  7. TB_VDS_DTCT E,
  8. TB_VDS_CTLR F
  9. WHERE A.LINK_ID = B.LINK_ID
  10. AND B.F_NODE_ID = C.NODE_ID
  11. AND B.T_NODE_ID = D.NODE_ID
  12. AND A.VDS_DTCT_NMBR = E.VDS_DTCT_NMBR
  13. AND E.VDS_CTLR_NMBR = F.VDS_CTLR_NMBR
  14. AND F.VDS_TYPE_CD = 'I'
  15. GROUP BY A.LINK_ID, C.NODE_NAME, D.NODE_NAME, F.VDS_CTLR_NMBR, F.VDS_NM
  16. ORDER BY F.VDS_CTLR_NMBR, A.LINK_ID;
  17. SELECT STAT_DD,
  18. LISTAGG(STAT_HH,',') WITHIN GROUP(ORDER BY STAT_HH) AS STAT_DAY,
  19. LISTAGG(TFVL, ',') WITHIN GROUP(ORDER BY STAT_HH) AS TFVL
  20. FROM (SELECT /*+ INDEX(A PK_VDS_DTCT_HH_STAT) */
  21. SUBSTR(A.STAT_DT, 1, 8) AS STAT_DD, SUBSTR(A.STAT_DT, 9, 2) AS STAT_HH,
  22. SUM(A.TFVL) AS TFVL
  23. FROM TB_VDS_DTCT_HH_STAT A
  24. WHERE A.STAT_DT BETWEEN '20190601000000' AND '20190711000000'
  25. AND A.VDS_DTCT_NMBR IN (SELECT VDS_DTCT_NMBR
  26. FROM TB_VDS_DTCT_RLTN_LINK A
  27. WHERE A.LINK_ID = '3240009700')
  28. GROUP BY SUBSTR(A.STAT_DT, 1, 8), SUBSTR(A.STAT_DT, 9, 2)
  29. )
  30. GROUP BY STAT_DD;
  31. SELECT B.VDS_DTCT_NMBR,
  32. MAX(A.VDS_CTLR_NMBR) VDS_CTLR_NMBR,
  33. MAX(A.VDS_DTCT_NM) VDS_DTCT_NM,
  34. SUBSTR(B.STAT_DT,0,8) STAT_DT,
  35. LISTAGG(SUBSTR(B.STAT_DT,9,2),',') WITHIN GROUP(ORDER BY SUBSTR(B.STAT_DT,9,2)) STAT_DAY,
  36. LISTAGG(B.TFVL,',') WITHIN GROUP(ORDER BY (SUBSTR(B.STAT_DT,9,2))) TFVL
  37. FROM TB_VDS_DTCT A,
  38. TB_VDS_DTCT_HH_STAT B
  39. WHERE A.DEL_YN = 'N'
  40. AND A.VDS_CTLR_NMBR = ''
  41. AND A.VDS_DTCT_NMBR = B.VDS_DTCT_NMBR
  42. AND SUBSTR(B.STAT_DT,0,8) = #{statsDate}
  43. GROUP BY B.VDS_DTCT_NMBR, SUBSTR(B.STAT_DT,0,8);
  44. SELECT /*+ INDEX(A PK_VDS_DTCT_HH_STAT) */
  45. B.LINK_ID, SUBSTR(A.STAT_DT, 1, 8) AS STAT_DD, SUBSTR(A.STAT_DT, 9, 2) AS STAT_HH,
  46. SUM(A.TFVL) AS TFVL
  47. FROM TB_VDS_DTCT_HH_STAT A,
  48. (SELECT LINK_ID, VDS_DTCT_NMBR
  49. FROM TB_VDS_DTCT_RLTN_LINK
  50. WHERE LINK_ID IN ('3240007300','3240007400','3240009700','3240009800','3240011401','3240013600','3240013700','3240336600','3240361500','3240361600','3240362700','3240362800')
  51. ) B
  52. WHERE A.STAT_DT BETWEEN '20190601000000' AND '20190711000000'
  53. AND A.VDS_DTCT_NMBR = B.VDS_DTCT_NMBR
  54. GROUP BY B.LINK_ID, SUBSTR(A.STAT_DT, 1, 8), SUBSTR(A.STAT_DT, 9, 2)
  55. ORDER BY B.LINK_ID, SUBSTR(A.STAT_DT, 1, 8), SUBSTR(A.STAT_DT, 9, 2);
  56. --VDS±¸°£ ¼ÒÅëÁ¤º¸ ºÐ¼®
  57. SELECT A.ROAD_NAME, B.NODE_NAME AS F_NAME, C.NODE_NAME AS T_NAME,
  58. D.*
  59. FROM TB_LINK A, TB_NODE B, TB_NODE C,
  60. (
  61. SELECT A.*, SUBSTR(A.PRCN_DT, 9, 4) AS PRCN_DT2
  62. FROM TB_LINK_TRAF_CLCT_HS A
  63. WHERE A.PRCN_DT BETWEEN '20190713000000'
  64. AND '20190713235959'
  65. AND A.LINK_ID IN ('3240007300','3240007400','3240009700','3240009800','3240011401','3240013600','3240013700','3240336600','3240361500','3240361600','3240362700','3240362800') ) D
  66. WHERE A.LINK_ID = D.LINK_ID
  67. AND A.F_NODE_ID = B.NODE_ID
  68. AND A.T_NODE_ID = C.NODE_ID
  69. ORDER BY A.LINK_ID, PRCN_DT