SQL从另一个表中获取指定的列

时间:2017-10-09 09:23:50

标签: sql sql-server

有2个表

-OrderDetails -

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

- 产品 -

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

我真正想做的是从“产品”表中提取价格并将其放在“OrderDetail”表中,并将其与相应的“ProductID”匹配。我觉得我必须首先使用'alter table'创建一个新列,所以我做了。但在那之后,我尽我所能,但我无法理解。

这意味着......

-OrderDetails -

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

这就是我想要的!

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以使用以下语句创建新表:

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表。

答案 2 :(得分:-1)

您可以使用内部联接来获得结果

$path--rel: "../images";

@mixin img-replace($img, $w:104px, $h:47px, $disp:null) {
  background-image: url('#{$path--rel}/#{$img}');
  background-repeat: no-repeat;
  width: $w;
  height: $h;
  @if ($disp) {display: $disp;}
}

.site-logo {
  @include img-replace(
      $img: "logo.png",
      $disp: "inline-block"
  );
  margin-top: 8px;
  margin-left: 6px;
}