차량 has_many 서비스. 서비스에는 has_many 유형 (0,1,2,3,4)이 있습니다.레일 액티브 레코드 크로스 탭 쿼리
차량의 각 서비스 유형을 마지막으로 완료했을 때의 마일리지를 보여주는 쿼리를 작성해야합니다.
내 MS 액세스 일간에 이것은 간단한 크로스 탭 (변환) 쿼리였습니다. 누군가 레일 환경에서 올바른 방향으로 나를 가리킬 수 있습니까? 감사합니다
이 내가 대조하기 위해 노력하고있어의 긴 손 버전 :
@a_last = v.services.maximum(:mileage_closed, :conditions => ["closed = TRUE AND service_type_id > 0"])
@b_last = v.services.maximum(:mileage_closed, :conditions => ["closed = TRUE AND service_type_id > 1"])
@c_last = v.services.maximum(:mileage_closed, :conditions => ["closed = TRUE AND service_type_id > 2"])
@d_last = v.services.maximum(:mileage_closed, :conditions => ["closed = TRUE AND service_type_id > 3"])
@e_last = v.services.maximum(:mileage_closed, :conditions => ["closed = TRUE AND service_type_id > 4"])
감사합니다!
안녕하세요 AJFaraday, 대단히 감사합니다. >는 실제로 0으로 간주됩니다. service_type은 5 service_item을 나타낼 수 있습니다. 1 service_type은 10 service_items (0 service_type의 5 service_items 포함) 2 = 15 등, 3 = 20 등을 계단식 스타일로 나타냅니다. 즉, service_type이 4 인 경우 0, 1, 2 및 3의 모든 요구 사항이 포함됩니다. 감사합니다. – jared
귀하의 요구 사항을 저보다 잘 알고 계실 것입니다. 유형 번호가 0에서 4까지이고 service_type_id가 4보다 큰 서비스를 찾으면 아무 결과도 없을 것입니다. <와 <= < – AJFaraday
의 차이점을 알아 두십시오. 감사합니다. 필요한 것뿐입니다! – jared