Advertisement
Guest User

Untitled

a guest
Jan 13th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         String queryStr = "select rtime, (case " + timeGroup + " else '' end) period,\n" +
  2.                 "sum(transfers), sum(revenue), sum(distance), "+/*sum(no_bus), */"sum(cancel_user), sum(cancel_driver), sum(idle) from (\n" +
  3.                 "select coalesce(t1.period, t2.period) period, coalesce(t1.rtime, t2.rtime) rtime, coalesce(transfers, 0) transfers,\n" +
  4.                 "coalesce(revenue, 0) revenue, coalesce(distance, 0) distance, coalesce(no_bus, 0) no_bus,\n" +
  5.                 "coalesce(cancel_user, 0) cancel_user, coalesce(cancel_driver, 0) cancel_driver,\n" +
  6.                 "coalesce ((\n" +
  7.                 "select round(sum(evduration)/60) from vehicle_history where pr_vehstatus = 2 and cur_vehstatus != 2 and\n" +
  8.                 "to_char(evdate, 'HH24')*60+to_char(evdate, 'MI') = coalesce(t1.period, t2.period) and\n" +
  9.                 "to_char(evdate, '" + groupingStr + "') = coalesce(t1.rtime, t2.rtime)\n" +
  10.                 "), 0) idle\n" +
  11.                 "from ( select to_char(rqtime, 'HH24')*60+to_char(rqtime, 'MI') period,\n" +
  12.                 "to_char(rqtime, '" + groupingStr + "') rtime,\n" +
  13.                 "sum(case when status=1 then 1 else null end) no_bus,\n" +
  14.                 "sum(case when status=98 then 1 else null end) cancel_user,\n" +
  15.                 "sum(case when status=99 then 1 else null end) cancel_driver\n" +
  16.                 "from req_history where rqtime between ?1 and ?2\n" +
  17.                 "group by to_char(rqtime, 'HH24')*60+to_char(rqtime, 'MI'), to_char(rqtime, '" + groupingStr + "')\n" +
  18.                 ") t1 full outer join (\n" +
  19.                 "select to_char(modified_at, 'HH24')*60+to_char(modified_at, 'MI') period,\n" +
  20.                 "to_char(modified_at, '" + groupingStr + "') rtime,\n" +
  21.                 "count(trnsf_id) transfers, sum(amount) revenue, sum(distance)/1000 distance\n" +
  22.                 "from transfers where modified_at between ?1 and ?2\n" +
  23.                 "group by to_char(modified_at, 'HH24')*60+to_char(modified_at, 'MI'), to_char(modified_at, '" + groupingStr + "')\n" +
  24.                 ") t2 on t1.period = t2.period and t1.rtime = t2.rtime) data\n" +
  25.                 "group by rtime, (case " + timeGroup + " else '' end) order by period asc";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement