2014-11-06 3 views
0

을 사용하여 값 합계 문제 아래의 쿼리에는 2 개의 테이블 locationproductmapproductsourceproductmap이 있습니다. 내 목표는 테이블에서 테이블의 한정 기호에 CurrentUnitPrice을 곱한 다음 합산하는 것입니다. 하지만 내 실제 결과가 잘못된 결과를 표시합니다.SQL 쿼리

도와주세요.

실제 결과는 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 

쿼리

이다,174
(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 
)  

답변

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 절에 추가하십시오.

+0

'ProductID IN (1402,1404,1403)' –

+0

쿼리가 잘못된 값을 반환합니다. – Developer

+0

좀 더 자세히 설명해 주시겠습니까? –