2013-03-01 58 views
1

我有在SQL乘两列存储过程

StockID ItemID Quantity Price 

表股票现在我要选择的数据这样

StockID ItemID Quantity Price TotalPrice(Quantity*Price) 

我想这

ALTER PROC [dbo].[SelectItemStock] 
@Item int 
as 
BEGIN 
    SELECT Stock.*, (SELECT Quantity*Price FROM Stock) AS TotalPrice 
    FROM Stock 
    WHERE ItemID = @Item 
END 

一些事情但它给了我错误Subquery returned more than 1 value.

请帮我解决这个问题

回答

7

你不需要做一个子查询,以获得两列的产品,只需要直接相乘,

ALTER PROC [dbo].[SelectItemStock] 
@Item int 
as 
BEGIN 
    SELECT Stock.*, 
      (Quantity*Price) AS TotalPrice 
    FROM Stock 
    WHERE ItemID = @Item 
END