[英]Is there a way to add a column to a view in ORACLE SQL?
我有兩張桌子
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)?
您可以按照您已經描述的方式進行操作。
CREATE OR REPLACE VIEW V_PRODUCT
AS
SELECT K.PRODUCT_ID,
K.PRODUCT_UNIT_PRICE,
S.SALES_UNIT_PRICE,
S.SALES_UNIT_PRICE - K.PRODUCT_UNIT_PRICE AS PROFIT
FROM TABLE_STOCK K
INNER JOIN TABLE_SALES S ON S.PRODUCT_ID = K.PRODUCT_ID
你可以有沒有銷售的庫存(但可能沒有一些庫存就沒有銷售)。 因此,我認為您需要一個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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.