diff options
Diffstat (limited to 'sql/dawn.sql')
| -rw-r--r-- | sql/dawn.sql | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/sql/dawn.sql b/sql/dawn.sql index 87ab345c..de7d8f55 100644 --- a/sql/dawn.sql +++ b/sql/dawn.sql @@ -3897,4 +3897,37 @@ ON FOR EACH ROW EXECUTE PROCEDURE update_account('ISDA'); -CREATE TYPE author AS ENUM ('auto', 'manual');
\ No newline at end of file +CREATE TYPE author AS ENUM ('auto', 'manual'); + +CREATE OR REPLACE VIEW forward_trades +AS SELECT a.*, c.name from(SELECT unnest(ARRAY[fx_swaps.dealid::text || '_N'::text, fx_swaps.dealid::text || '_F'::text]) AS dealid, + fx_swaps.trade_date, + unnest(ARRAY[fx_swaps.near_settle_date, fx_swaps.far_settle_date]) AS settle_date, + fx_swaps.fund, + fx_swaps.portfolio, + fx_swaps.folder, + fx_swaps.cp_code, + unnest(ARRAY[fx_swaps.near_buy_currency, fx_swaps.far_buy_currency]) AS buy_currency, + unnest(ARRAY[fx_swaps.near_sell_currency, fx_swaps.far_sell_currency]) AS sell_currency, + unnest(ARRAY[fx_swaps.near_buy_amount, fx_swaps.far_buy_amount]) AS buy_amount, + unnest(ARRAY[fx_swaps.near_sell_amount, fx_swaps.far_sell_amount]) AS sell_amount, + unnest(ARRAY[fx_swaps.near_cpty_id, fx_swaps.far_cpty_id]) AS cpty_id, + unnest(ARRAY[fx_swaps.near_rate, fx_swaps.far_rate]) AS spot_rate + FROM fx_swaps +UNION + SELECT spots.dealid, + spots.trade_date, + spots.settle_date, + spots.fund, + spots.portfolio, + spots.folder, + spots.cp_code, + spots.buy_currency, + spots.sell_currency, + spots.buy_amount, + spots.sell_amount, + spots.cpty_id, + spots.spot_rate + FROM spots) a + LEFT JOIN counterparties c ON cp_code=code ; +
\ No newline at end of file |
