使用sql查询求值的问题

时间:2014-11-06 10:11:24

标签: sql sql-server

在下面的查询中,我有2个表locationproductmapproductsourceproductmap。我的目标是将productsourceproductmap表中的量词乘以CurrentUnitPrice表中的locationproductmap,然后求和。但我的实际结果是显示不正确的结果。

请帮我这样做。

实际结果是45。

productsourceproductmap

Productid  | Quantifier| locationId
-----------------------------------
1402              1            1
1403              1            1
1404              1            1

locationproductmap

ProductId    | Locationid |CurrentUnit Price
--------------------------------------------
1402              1            5
1403              1            5
1404              1            5   

查询

(Select  
     SUM(LPM.CurrentUnitPrice * PSPM.Quatifier) 
 From 
     LocationProductMap LPM 
 LEFT OUTER JOIN
     ProductSourceProductMap PSPM ON PSPM.ProductID IN (1402, 1404, 1403)  
 WHERE 
     LPM.ProductID IN (1402, 1404, 1403) 
     AND LPM.LocationID = 1
)     

1 个答案:

答案 0 :(得分:2)

Select  SUM(LPM.CurrentUnitPrice * PSPM.Quatifier) 
From LocationProductMap LPM 
LEFT Join ProductSourceProductMap PSPM ON PSPM.ProductID = LPM.ProductID 
WHERE LPM.LocationID = 1
AND LPM.ProductID IN (1402,1404,1403)

加入时指定ON条件中表格的链接。如果要过滤数据,请将其添加到where子句中。