MakeRoadVertexXml.SQL 1.5 KB

123456789101112131415161718192021222324
  1. SELECT X.LEVL, X.ROAD_ID AS ROAD_ID, X.X_CRDN, X.Y_CRDN,
  2. Y.X_CRDN_MIN, Y.X_CRDN_MAX, Y.Y_CRDN_MIN, Y.Y_CRDN_MAX,
  3. X.ORD, Y.ORD_CNT
  4. FROM (SELECT ROAD_ID, DECODE(LEVL, 1, 6, 2, 5, 5) AS LEVL,
  5. X_CRDN, Y_CRDN,
  6. ROW_NUMBER() OVER(PARTITION BY ROAD_ID, LEVL ORDER BY ORD) ORD
  7. FROM TB_ROAD_VRTX
  8. WHERE LEVL IN (1,2)) X,
  9. (SELECT ROAD_ID, DECODE(LEVL, 1, 6, 2, 5, 5) AS LEVL,
  10. COUNT(1) AS ORD_CNT,
  11. MIN(X_CRDN) AS X_CRDN_MIN, MAX(X_CRDN) AS X_CRDN_MAX,
  12. MIN(Y_CRDN) AS Y_CRDN_MIN, MAX(Y_CRDN) AS Y_CRDN_MAX
  13. FROM TB_ROAD_VRTX
  14. WHERE LEVL IN (1,2)
  15. GROUP BY ROAD_ID, LEVL) Y
  16. WHERE X.LEVL = Y.LEVL
  17. AND X.ROAD_ID = Y.ROAD_ID
  18. ORDER BY X.LEVL, X.ROAD_ID, X.ORD
  19. insert into TB_ROAD_VRTX
  20. select road_id, 2, ord, x_crdn, y_crdn from TB_ROAD_VRTX t where t.levl = 1;