Advertisement
Guest User

Untitled

a guest
May 24th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 3.11 KB | None | 0 0
  1. SELECT c.CLIENT_CODE , c.CLIENT_NAME , c.CLIENT_TYPE , d.CLIENT_MEMBER_CODE AS DEALER_CODE , c.CLIENT_ID , d.ID AS DEALER_ID , c.PRODUCT_TYPE_ID , c.SECURITY_ID , c.SYMBOL , c.SERIES , c.BUY_VALUE , c.BUY_QUANTITY , c.BUY_AVG_PRICE , c.SELL_VALUE , c.SELL_QUANTITY , c.SELL_AVG_PRICE FROM (SELECT a.CLIENT_CODE, a.CLIENT_NAME, a.CLIENT_ID, a.CLIENT_TYPE, a.BUY_VALUE, a.BUY_QUANTITY, a.BUY_AVG_PRICE, a.SECURITY_ID, a.SELL_VALUE, a.SELL_AVG_PRICE , a.SELL_QUANTITY , a.PRODUCT_TYPE_ID , a.SYMBOL , a.SERIES , b.DEALER_ID FROM
  2.   (SELECT y.client_member_code      AS CLIENT_CODE,
  3.           y.display_name            AS CLIENT_NAME,
  4.           z.client_dealer_type_name AS CLIENT_TYPE,
  5.      x.client_id,
  6.      x.product_type_id,
  7.      x.security_id,
  8.      x.symbol,
  9.      x.series,
  10.           SUM(x.buy_value)          AS BUY_VALUE,
  11.           SUM(x.buy_quantity)       AS BUY_QUANTITY,
  12.           SUM(x.buy_avg_price)      AS BUY_AVG_PRICE,
  13.           SUM(x.sell_value)         AS SELL_VALUE,
  14.           SUM(x.sell_quantity)      AS SELL_QUANTITY,
  15.           SUM(x.sell_avg_price)     AS SELL_AVG_PRICE
  16.    FROM  (SELECT h.client_id,
  17.             h.product_type_id,
  18.             h.buy_or_sell,
  19.             h.SECURITY_ID,
  20.             S2.symbol,
  21.             S3.series,
  22.             CASE
  23.             WHEN ( h.buy_or_sell = 1 ) THEN SUM(
  24.                 e.trade_price * e.quantity_traded)
  25.             END AS BUY_VALUE,
  26.             CASE
  27.             WHEN ( h.buy_or_sell = 1 ) THEN SUM(e.quantity_traded)
  28.             END AS BUY_QUANTITY,
  29.             CASE
  30.             WHEN ( h.buy_or_sell = 1 ) THEN AVG(trade_price)
  31.             END AS BUY_AVG_PRICE,
  32.             CASE
  33.             WHEN ( h.buy_or_sell = 2 ) THEN SUM(
  34.                 e.trade_price * e.quantity_traded)
  35.             END AS SELL_VALUE,
  36.             CASE
  37.             WHEN ( h.buy_or_sell = 2 ) THEN SUM(e.quantity_traded)
  38.             END AS SELL_QUANTITY,
  39.             CASE
  40.             WHEN ( h.buy_or_sell = 1 ) THEN AVG(trade_price)
  41.             END AS SELL_AVG_PRICE
  42.           FROM   trade_book e
  43.             JOIN ORDER_BOOK_HEADER h
  44.               ON e.EXCHANGE_ORDER_ID = h.EXCHANGE_ORDER_ID
  45.             JOIN securities S2
  46.               ON h.security_id = S2.id
  47.             JOIN series_master S3
  48.               ON S2.series = S3.id
  49.           WHERE  h.product_type_id=1
  50.           GROUP  BY h.product_type_id,
  51.             h.client_id,
  52.             h.SECURITY_ID,
  53.             S2.symbol,
  54.             S3.series,
  55.             h.buy_or_sell) AS x
  56.      JOIN client_dealer_master y
  57.        ON x.client_id = y.id
  58.      JOIN client_dealer_types z
  59.        ON y.client_dealer_type_id = z.id
  60.    GROUP  BY y.client_member_code,
  61.      z.client_dealer_type_name,
  62.      y.display_name,
  63.      x.client_id,
  64.      x.product_type_id,
  65.      x.symbol,
  66.      x.series,
  67.      x.security_id) AS a join CLIENT_DEALER_MAPPING b ON a.CLIENT_ID = b.CLIENT_ID) AS c join client_dealer_master d ON
  68.                                                                                                                        c.DEALER_ID=d.id WHERE c.CLIENT_ID=:clientId AND c.DEALER_ID=:dealerId AND c.PRODUCT_TYPE_ID=:productId
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement