我有一个数据库,我必须在其中选择三个特定的股票代码,并通过从总买入价值中减去总卖出价值来找到其损益值。数据库
我的方法-将'buy'和'sell'交易类型分别添加为名为'nocolumnname'的新列(在total sell前加负号)。与其股票相对应的卖出和买入总价值
我的问题是,如何再次为'AMZN', 'CMCSA'和'FOX'(按字母顺序)添加总买入和总卖出值,并创建一个名为'profit/loss'的新列,以取代'nocolumnname'列。是这样的:Sample_Output
通常你不会创建一个表,只是像这样查询:
select stock_symbol,sum(
case when transaction = 'buy' then amount
case when transaction = 'sell' then -amount
end
) as [profit/loss]
order by stock_symbol
或者把它放在视图中(没有ORDER BY
,因为表和视图都没有顺序),然后从那里选择
select * from the_view where stock_symbol in ('AMZN', 'CMCSA' , 'FOX' ) order by stock_symbol
如果你真的,真的想要一个"表格"出于性能等原因,您可以创建一个索引视图,它基本上是一个表,当源表中的行发生变化时,它会被更新。
(由于没有可用的脚本或数据,语法大致相同)