Advertisement
Guest User

Untitled

a guest
Apr 15th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.09 KB | None | 0 0
  1. SELECT
  2.     REPID AS ID,
  3.     LAST_NAME AS LN,
  4.     FIRST_NAME AS FN,
  5.     VALUE AS VAL,
  6.     'Total number of orders ' AS INDICATOR
  7. FROM
  8.     (
  9.         SELECT
  10.             R.REPID,
  11.             R.LAST_NAME,
  12.             R.FIRST_NAME,
  13.             ''
  14.             || COUNT(T_O.ORDER#) AS VALUE,
  15.             RANK() OVER(
  16.                 ORDER BY
  17.                     COUNT(T_O.ORDER#) DESC
  18.             ) AS RANK
  19.         FROM
  20.             REP R,
  21.             T_ORDERS T_O
  22.         WHERE
  23.             R.REPID = T_O.REPID
  24.         GROUP BY
  25.             R.REPID,
  26.             R.LAST_NAME,
  27.             R.FIRST_NAME
  28.     )
  29. WHERE
  30.     RANK = 1
  31. UNION
  32. SELECT
  33.     REPID AS ID,
  34.     LAST_NAME AS LN,
  35.     FIRST_NAME AS FN,
  36.     VALUE AS VAL,
  37.     'Quantity of items sold ' AS INDICATOR
  38. FROM
  39.     (
  40.         SELECT
  41.             R.REPID,
  42.             R.LAST_NAME,
  43.             R.FIRST_NAME,
  44.             ''
  45.             || SUM(OD.NUM_ORDERED) AS VALUE,
  46.             RANK() OVER(
  47.                 ORDER BY
  48.                     SUM(OD.NUM_ORDERED) DESC
  49.             ) AS RANK
  50.         FROM
  51.             REP R,
  52.             T_ORDERS T_O,
  53.             ORDER_DETAILS OD
  54.         WHERE
  55.             R.REPID = T_O.REPID
  56.             AND   OD.ORDER# = T_O.ORDER#
  57.         GROUP BY
  58.             R.REPID,
  59.             R.LAST_NAME,
  60.             R.FIRST_NAME
  61.     )
  62. WHERE
  63.     RANK = 1
  64. UNION
  65. SELECT
  66.     REPID AS ID,
  67.     LAST_NAME AS LN,
  68.     FIRST_NAME AS FN,
  69.     VALUE AS VAL,
  70.     'Total Value of Sales ' AS INDICATOR
  71. FROM
  72.     (
  73.         SELECT
  74.             R.REPID,
  75.             R.LAST_NAME,
  76.             R.FIRST_NAME,
  77.             '$'
  78.             || SUM(OD.NUM_ORDERED * OD.QUOTED_PRICE) AS VALUE,
  79.             RANK() OVER(
  80.                 ORDER BY
  81.                     SUM(OD.NUM_ORDERED * OD.QUOTED_PRICE) DESC
  82.             ) AS RANK
  83.         FROM
  84.             REP R,
  85.             T_ORDERS T_O,
  86.             ORDER_DETAILS OD
  87.         WHERE
  88.             R.REPID = T_O.REPID
  89.             AND   OD.ORDER# = T_O.ORDER#
  90.         GROUP BY
  91.             R.REPID,
  92.             R.LAST_NAME,
  93.             R.FIRST_NAME
  94.     )
  95. WHERE
  96.     RANK = 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement