簡體   English   中英

SQL從另一個表獲取指定的列

[英]SQL get a specified column from another table

有2張桌子

-訂單詳細信息-

OrderDetailID        OrderID        ProductID           Quantity
------------------------------------------------------------------
       1              10248           11          12
       2              10248           42          10

-產品-

ProductID      ProductName       Price
-----------------------------------------
    11              Queso           20
    42             Fried Mee        14

我真正想做的是從“產品”表中提取價格並將其放在“ OrderDetail”表中,並將其與相應的“ ProductID”進行匹配。 我覺得我必須首先使用“更改表”創建一個新列,所以我做到了。 但是在那之后,我盡了最大努力,但是我無法弄清楚。

這意味着...

-訂單詳細信息-

OrderDetailID        OrderID        ProductID    Quantity  Price
-------------------------------------------------------------------------
       1              10248           11          12       20
       2              10248           42          10       14

這就是我要的!

CREATE VIEW dbo.vOrderDetailsPrice
AS 
SELECT 
a.OrderDetailID,        
a.OrderID,        
a.ProductID,           
a.Quantity,
b.Price
FROM OrderDetails a 
INNER JOIN Products b
ON a.ProductID = b.ProductID

您可以使用以下語句創建新表:

SELECT 
OrderDetails.OderDetailID,
OrderDetails.OderID,
OrderDetails.ProductID,
OrderDetails.Quantity,
Product.Price
INTO
NewTable
FROM
OrderDetails, Product
WHERE
OrderDetails.ProductID = Product.ProductID;

確保NewTable看起來像您想要的樣子,然后刪除OrderDetails表。 然后,您可以將NewTable重命名為OrderDetails表。

您可以使用內部聯接來獲得結果

SELECT OD.OrderDetailID,OD.OrderID,OD.ProductID,OD.Quantity,PD.Price
FROM ORDERDETAILS OD INNER JOIN PRODUCTS PD ON OD.PRODUCTID=PD.PRODUCTID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM