SQL комплексный расчет - PullRequest
0 голосов
/ 02 мая 2018

Рассчитать P & L каждой ценной бумаги в SQL

security side   quantity price
AAPL     BUY   2000     110.00
MSFT    BUY   1000      40.00
MSFT    SELL   500      38.00

Результат должен выглядеть следующим образом:

security realized_p&l
MSFT      -1000.00
AAPL

1 Ответ

0 голосов
/ 02 мая 2018

P & LRealized - цена продажи минус цена покупки, умноженная на количество продажи.

select a.`security`,
case when b.side is not null
then (b.price-a.price) * b.quantity
else '' end "realized_p&l"
from tbl a
left join tbl b
on a.`security`=b.`security` and b.side='SELL'
where a.side='BUY' 

result: 
security    realized_p&l
MSFT    -1000
AAPL
...