2017-10-09 1 views
0

내가 찾고있는 최저 가격을 찾는 정확한 방법 (내 세 번째 시도)을 사용하는 것 같아요,하지만 난 대답을 제대로하지 않습니다. 조언이 필요해!min() sqlite3에서 작동하지 않습니다

나는라는 테이블 저장을 가지고 다음과 같습니다 : I는 각 제품의 최저 가격과 제품이 상점을 찾기 위해 노력하고

storeNum productNum unitPrice 
     1   p1   3.3 
     1   p2   4.9 
     2   p1   3.6 
     3   p1   4.9 
     4   p2   4.9   

.

select storeNum, productNum, unitPrice 
from storage, (select min(unitPrice) as minim from storage group by 
productNum) as mint 
where carries.uprice=mint.minim 

select storeNum, productNum, min(unitPrice) 
from storage 
group by storeNum, productNum 

결과는 동일합니다 :

storeNum productNum unitPrice 
     1   p1   3.3 
     1   p2   4.9 
     3   p1   4.9 
     4   p2   4.9 

(P1)는 하나의 최저 가격을해야하지만하지 않습니다 은 여기 내 제 1 및 제 2 시도이다. 그래서 내가 그것을 구글과 this를 읽고 내 세 번째 시도가 있습니다.

select storeNum, productNum, unitPrice 
from storage 
where unitPrice=(select min(unitPrice) from storage group by productNum) 

결과입니다 엉망 :(나는 내 코드를 잘못 모르는

을 내가 원하는 결과는 다음과 같습니다

storeNum productNum unitPrice 
     1   p1   3.3 
     1   p2   4.9 
     4   p2   4.9 

정말 도움이 필요 코딩이 생각보다 어렵

답변

0

당신이 상점을 검색 할 제품과 가격을 모두 사용 할 수 있도록 당신은 제품 당 하나 개의 최소 가격이 있습니다..

SELECT storeNum, productNum, unitPrice 
FROM storage 
JOIN (SELECT productNum, 
      min(unitPrice) AS unitPrice 
     FROM storage 
     GROUP BY productNum 
    ) USING (productNum, unitPrice); 
+0

응답 주셔서 감사합니다. USING 부분이 약간의 오류로 인해 작동하지 않습니다. 걱정할 필요없이 코드를 수정했습니다. – hhh

관련 문제