有没有一种方法可以在ORACLE SQL中向视图添加列?

时间:2020-02-24 06:52:10

标签: sql oracle ddl sql-view

我有两个桌子

1.TABLE_STOCK与列 Product_ID (主键)和 Product_unit_price

2.TABLE_SALES,其中包含列 Product_ID (外键)和 Sales_unit_price

现在,我想创建一个视图,将基于Product_ID的两个表连接起来,并在视图中添加一列 PROFIT (应该是Sales_unit_price和Product_unit_price之间的差额)

有没有一种方法可以向视图添加列(PROFIT)?

2 个答案:

答案 0 :(得分:3)

您可以按照已经描述的方式进行操作。

>>> x = 1_000_000
>>> print(format(1000000, '_d'))
1_000_000

答案 1 :(得分:0)

您可以有没有销售的库存(但大概没有一些库存就没有销售)。因此,我认为您需要一个outer join

CREATE OR REPLACE VIEW V_PRODUCT AS
   SELECT st.PRODUCT_ID, st.PRODUCT_UNIT_PRICE,
          s.SALES_UNIT_PRICE,
          (s.SALES_UNIT_PRICE - K.PRODUCT_UNIT_PRICE) AS PROFIT
   FROM TABLE_STOCK st LEFT JOIN
        TABLE_SALES s
        ON S.PRODUCT_ID = st.PRODUCT_ID;

如果您可以没有库存地进行销售,则可能需要FULL JOIN