1

我有一张桌子

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.

请帮我解决这个问题

4

1 回答 1

7

你不需要做子查询来获得两列的乘积,直接相乘即可,

ALTER PROC [dbo].[SelectItemStock] 
@Item   int
as
BEGIN
    SELECT  Stock.*, 
            (Quantity*Price) AS TotalPrice
    FROM    Stock
    WHERE   ItemID = @Item
END
于 2013-03-01T07:38:33.767 回答