에서 다시에만 최저 가격을 가져 두 개의 테이블에 가입하세요. 각 보트마다 고유 한 ID (pricingRef)가 있습니다. 보트 가격에는 각 보트에 대한 임대 가격 행이 있으며 보트마다 행 수가 제한되어 있습니다. 각 행에는 pricingRef 값도 있습니다. boat_prices 테이블의 데이터 예는 다음과 같을 수 있습니다 : 나는 boat_data 테이블에서 다시 모든 행을 가져오고 각 보트 다시에만 최저 가격을 데려 boat_prices 테이블에 가입하기 만하면 무엇SQL 쿼리는 다음과 같이 내가이 개 MSSQL 테이블이 테이블이
pricingRef > pricingDescription > price
ASD1 > fullDay > 1500
ASD1 > perWeek > 9000
ASD1 > morning > 800
ASD2 > fullDay > 2000
ASD2 > perWeek > 12000
ASD2 > morning > 1100
. 아래에있는 SQL 문을 작성했습니다. 문제는 정말로 clunky하고 혼란 스럽습니다. boat_prices 테이블에서 가격 값을 가져오고, boat_data 테이블의 각 필드를 명시 적으로 요청한 다음 boat_data 테이블의 모든 필드별로 그룹화 한 min (price)을 사용했습니다.
더 좋은 방법이 있어야합니다. 죄송합니다. 저는 SQL 초보자입니다. 도와주세요! 이 같은
select
min(price) as price,
boat_data.ID,
boat_data.boatRef,
boat_data.capacity,
boat_data.sleeps,
boat_data.fuelConsumption,
boat_data.yearBuilt,
boat_data.length,
boat_data.beam,
boat_data.engines,
boat_data.tender,
boat_data.boatName,
boat_data.cabins,
boat_data.speed,
boat_data.location,
boat_data.onSale,
boat_data.supplierID,
boat_data.boatClassID,
boat_data.pricingRef,
boat_data.crew,
boat_data.sportsEquipment
from boat_data
join boat_prices
on boat_data.pricingRef = boat_prices.pricingRef
group by
boat_data.ID,
boat_data.boatRef,
boat_data.capacity,
boat_data.sleeps,
boat_data.fuelConsumption,
boat_data.yearBuilt,
boat_data.length,
boat_data.beam,
boat_data.engines,
boat_data.tender,
boat_data.boatName,
boat_data.cabins,
boat_data.speed,
boat_data.location,
boat_data.onSale,
boat_data.supplierID,
boat_data.boatClassID,
boat_data.pricingRef,
boat_data.crew,
boat_data.sportsEquipment
order by price
오 당신이 빠르고 +++ :이 경우 D – mirkobrankovic
그는 "아침"만 가격을 얻을 것이다 원인 그들은 가장 낮습니다. 그는 가장 낮습니다. – mirkobrankovic
@mirkobrankovic : 제이슨이 요구 한 것입니다. "* 각 보트의 최저 가격 만 반환 *". –