Advertisement
DimitarVasilev

Untitled

Jul 20th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 5.81 KB | None | 0 0
  1. --1
  2. --fromDate -> Thu Jun 01 00:00:00 CEST 2017
  3. --toDate -> Sun Jun 25 23:59:00 CEST 2017
  4. --vehicleOwner -> -1
  5. --vehicleCategory -> 102984
  6. --gu_user_id -> 102079
  7.  
  8. SELECT vehicle_owner_id,
  9.     vo_vehicle_category_id,
  10.     vehicle_category_name,
  11.     description,
  12.     vehicle_id,
  13.     vehicle_name,
  14.     date_day,
  15.     (NVL(ru_install_hr,0)  + hour_counter_begin) hour_counter_begin,
  16.     (NVL(ru_install_hr,0)  + hour_counter_end) hour_counter_end,
  17.     ((NVL(ru_install_hr,0) +hour_counter_end) - (NVL(ru_install_hr,0) +hour_counter_begin)) daily_diff_hour_counter,
  18.     (NVL(ru_install_km,0)  + km_counter_begin) km_counter_begin,
  19.     (NVL(ru_install_km,0)  + km_counter_end) km_counter_end,
  20.     ((NVL(ru_install_km,0) + km_counter_end) - (NVL(ru_install_km,0) + km_counter_begin)) daily_diff_km_counter
  21.   FROM
  22.     (
  23.     SELECT v.vehicle_owner_id,
  24.       v.vo_vehicle_category_id,
  25.       voc.name AS vehicle_category_name,
  26.       v.brand
  27.       || ' '
  28.       || v.model
  29.       || ' '
  30.       || v.color AS description,
  31.       vd.vehicle_id,
  32.       ltrim(rtrim(DECODE(v.company_nr, NULL, '', v.company_nr
  33.       || ' - ')
  34.       || v.numberplate)) AS vehicle_name,
  35.       vd.date_day,
  36.       v.ru_install_hr,
  37.       ROUND(MIN(to_number(vd.hour_counter))/3600) hour_counter_begin,
  38.       ROUND(MAX(to_number(vd.hour_counter))/3600) hour_counter_end,
  39.       v.ru_install_km,
  40.       MIN(vd.total_distance) km_counter_begin,
  41.       MAX(vd.total_distance) km_counter_end
  42.     FROM of_owner.vehicle_data vd,
  43.       of_owner.vehicle v,
  44.       of_owner.vo_vehicle_category voc,
  45.       of_owner.gu_vehicle gv,
  46.       of_owner.operation_center oc
  47.     WHERE vd.vehicle_id          = v.vehicle_id
  48.     AND v.vehicle_id             = gv.vehicle_id
  49.     AND v.vo_vehicle_category_id = voc.vo_vehicle_category_id
  50.     AND voc.vo_vehicle_category_id = decode(102984, -1, voc.vo_vehicle_category_id, 102984)
  51.     AND voc.vehicle_owner_id = decode(-1, -1, voc.vehicle_owner_id,-1)
  52.     AND gv.gui_user_id = 102079
  53.     AND vd.date_day   >= toutcdate( to_date ('01/06/2017 00:00','dd/MM/yyyy HH24:mi') , oc.timezone )
  54.     AND vd.date_day   <= toutcdate( to_date ('25/06/2017 00:00','dd/MM/yyyy HH24:mi') , oc.timezone )
  55.     AND vd.vehicle_id IS NOT NULL -- not needed
  56.     GROUP BY v.vehicle_owner_id,
  57.       v.vo_vehicle_category_id,
  58.       voc.name,
  59.       v.brand
  60.       || ' '
  61.       || v.model
  62.       || ' '
  63.       || v.color,
  64.       vd.vehicle_id,
  65.       ltrim(rtrim(DECODE(v.company_nr, NULL, '', v.company_nr
  66.       || ' - ')
  67.       || v.numberplate)),
  68.       vd.date_day,
  69.       v.ru_install_hr,
  70.       v.ru_install_km
  71.     )
  72.   UNION
  73.   SELECT vehicle_owner_id,
  74.     vo_vehicle_category_id,
  75.     vehicle_category_name,
  76.     description,
  77.     vehicle_id,
  78.     vehicle_name,
  79.     date_day,
  80.     (NVL(ru_install_hr,0)  + hour_counter_end) hour_counter_begin,
  81.     (NVL(ru_install_hr,0)  + hour_counter_end) hour_counter_end,
  82.     ((NVL(ru_install_hr,0) +hour_counter_end) - (NVL(ru_install_hr,0) +hour_counter_end)) daily_diff_hour_counter,
  83.     (NVL(ru_install_km,0)  + km_counter_end) km_counter_begin,
  84.     (NVL(ru_install_km,0)  + km_counter_end) km_counter_end,
  85.     ((NVL(ru_install_km,0) + km_counter_end) - (NVL(ru_install_km,0) + km_counter_end)) daily_diff_km_counter
  86.   FROM
  87.     (SELECT v.vehicle_owner_id,
  88.       v.vo_vehicle_category_id,
  89.       voc.name AS vehicle_category_name,
  90.       v.brand
  91.       || ' '
  92.       || v.model
  93.       || ' '
  94.       || v.color AS description,
  95.       vd.vehicle_id,
  96.       ltrim(rtrim(DECODE(v.company_nr, NULL, '', v.company_nr
  97.       || ' - ')
  98.       || v.numberplate)) AS vehicle_name,
  99.       vd.date_day,
  100.       v.ru_install_hr,
  101.       ROUND(MIN(to_number(vd.hour_counter))/3600) hour_counter_begin,
  102.       ROUND(MAX(to_number(vd.hour_counter))/3600) hour_counter_end,
  103.       v.ru_install_km,
  104.       MIN(vd.total_distance) km_counter_begin,
  105.       MAX(vd.total_distance) km_counter_end
  106.     FROM of_owner.vehicle_data vd,
  107.       of_owner.vehicle v,
  108.       of_owner.vo_vehicle_category voc,
  109.       of_owner.gu_vehicle gv,
  110.       of_owner.operation_center oc
  111.     WHERE vd.vehicle_id          = v.vehicle_id
  112.     AND v.vehicle_id             = gv.vehicle_id
  113.     AND v.vo_vehicle_category_id = voc.vo_vehicle_category_id
  114.     AND gv.gui_user_id = 102079
  115.     AND vd.date_day   >= toutcdate( to_date ('01/06/2017 00:00','dd/MM/yyyy HH24:mi') , oc.timezone ) - 60
  116.     AND vd.date_day   <= toutcdate( to_date ('25/06/2017 00:00','dd/MM/yyyy HH24:mi') , oc.timezone )
  117.     AND voc.vo_vehicle_category_id = decode(102984, -1, voc.vo_vehicle_category_id, 102984)
  118.     AND voc.vehicle_owner_id = decode(-1, -1, voc.vehicle_owner_id, -1)
  119.     AND vd.vehicle_id IS NOT NULL -- not needed
  120.     GROUP BY v.vehicle_owner_id,
  121.       v.vo_vehicle_category_id,
  122.       voc.name,
  123.       v.brand
  124.       || ' '
  125.       || v.model
  126.       || ' '
  127.       || v.color,
  128.       vd.vehicle_id,
  129.       ltrim(rtrim(DECODE(v.company_nr, NULL, '', v.company_nr
  130.       || ' - ')
  131.       || v.numberplate)),
  132.       vd.date_day,
  133.       v.ru_install_hr,
  134.       v.ru_install_km
  135.     )
  136.   WHERE vehicle_id NOT IN
  137.     (SELECT v.vehicle_id
  138.     FROM of_owner.vehicle_data vd,
  139.       of_owner.vehicle v,
  140.       of_owner.vo_vehicle_category voc,
  141.       of_owner.gu_vehicle gv,
  142.       of_owner.operation_center oc
  143.     WHERE vd.vehicle_id          = v.vehicle_id
  144.     AND v.vehicle_id             = gv.vehicle_id
  145.     AND v.vo_vehicle_category_id = voc.vo_vehicle_category_id
  146.     AND gv.gui_user_id = 102079
  147.     AND vd.date_day   >= toutcdate( to_date ('01/06/2017 00:00','dd/MM/yyyy HH24:mi') , oc.timezone )
  148.     AND vd.date_day   <= toutcdate( to_date ('25/06/2017 00:00','dd/MM/yyyy HH24:mi') , oc.timezone )
  149.     AND voc.vo_vehicle_category_id = decode(102984, -1, voc.vo_vehicle_category_id, 102984)
  150.     AND voc.vehicle_owner_id = decode(-1, -1, voc.vehicle_owner_id, -1)
  151.     AND vd.vehicle_id IS NOT NULL -- not needed
  152.     );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement