Advertisement
Guest User

Untitled

a guest
May 25th, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE OR REPLACE VIEW grouped_latest_rates_view AS
  2. SELECT  
  3.     res.ticker_id,
  4.     res.suid,
  5.     res.batch_id,
  6.     value_date,
  7.     res.mid_rate_id,
  8.     (SELECT value FROM rateclient.rates r1 WHERE r1.id = res.mid_rate_id) AS mid_value
  9.    
  10. FROM (
  11. SELECT  
  12.     (SELECT r1.value_date FROM rateclient.rates r1 JOIN rateclient.provider_tickers t1 ON r.ticker_id = t1.id LIMIT 1) AS value_date,
  13.     r.ticker_id,
  14.     t.suid,
  15.     r.batch_id,
  16.  
  17.     -- SLOW QUERY
  18.     (SELECT r1.id FROM rateclient.rates r1
  19.     LEFT JOIN rateclient.provider_tickers t1 ON r1.ticker_id = t1.id
  20.     LEFT JOIN fx_tickers ft1 ON t1.suid = ft1.ticker_suid
  21.     LEFT OUTER JOIN rateclient.provider_fields f1 ON r1.field_id = f1.id
  22.     WHERE t1.suid = t.suid AND r1.batch_id = r.batch_id AND ft1.mid_field_id = r1.field_id LIMIT 1) AS mid_rate_id
  23.  
  24. FROM
  25. rateclient.rates r
  26. LEFT JOIN rateclient.provider_tickers t ON r.ticker_id = t.id
  27. LEFT JOIN fx_tickers ft ON t.suid = ft.ticker_suid
  28. LEFT OUTER JOIN rateclient.provider_fields f ON r.field_id = f.id
  29. GROUP BY r.ticker_id, r.batch_id, t.suid ORDER BY r.ticker_id) res;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement