2013-06-22 2 views
0

일부 공급자 (일부 공급자가 제공함)의 가격을 보는 SQL 쿼리가 있습니다. 단점은 나만 가격으로 대체 할 공급자가 필요하다는 것입니다. (1, 2 또는 그 이상이 될 수 있습니다.)SQL 쿼리에서 몇 가지 값만 가져 오기

이 쿼리를 가지고 코드로 처리하지만, SQL로만 원하는 것을 수행하는 다른 방법이 있습니까?

select * from tprovider_treplacement where replacement_id = ? order by price asc 

당신에게

+0

끝에 '제한 2'를 추가하십시오. – Brian

+0

Access에 있습니까? – Brad

+0

아니요, 이것은 SQL입니다. 얼마나 많은 제공자가 저 대체품을 제공하는지 모르겠다. 1,2,3,4,16 일 수 있습니다 .... – Santanor

답변

1

이 뭔가를 원하십니까 ☺ 정말 고마워요?

select * 
from tprovider_treplacement 
where replacement_id = ? and 
     price = (select min(price) 
       from tprovider_treplacement 
       replacement_id = ? 
      ) 

이것은 표준 SQL입니다. 많은 데이터베이스가 창 함수를 사용하여이 방법을 지원합니다.

select * 
from (select pr.*, 
      min(price) over (partition by replacement_id) as minprice 
     from tprovider_treplacement pr 
     where replacement_id = ? 
    ) t 
where price = minprice 
+0

예 !! 그게 다야 !!! 고마워, 친구, 이제 알았어 ... 그리 어렵지 않았어. 다시 한 번 감사드립니다. ^^ – Santanor

관련 문제