당 최대 값으로 여러 테이블에서 선택 결합 :의 우리가나는 다음과 같은 문제를 해결하기 위해 며칠 동안 노력하고 그룹
테이블 사용자
을user_id, credit
테이블 속성이 있다고 가정하자
property_id, user_id, check_interval
개의 테이블 states_ (연도) (예 : 여러 테이블 - 2010 년부터 매년 하나씩 - states_2010 - 응용 프로그램이 태어 났을 때)
property_id, timestamp
뒤에있는 논리는 각 사용자마다 하나 이상의 속성이 있다는 것입니다. 각 속성에는 하나 이상의 상태가 있습니다. 각 상태는 타임 스탬프에서 얻은 것입니다. 상태는 특정 시간마다 한 번씩 얻어지며 check_interval은 각 속성에 따라 다릅니다. 각 상태를 얻는 것은 각 사용자에게 사용자 계정 (테이블 사용자)에서 공제되는 1 크레딧을 소비합니다.
내 목표는 바로 앞으로 계획된 수표에서 시작하여 property_ids 및 다음 점검 시간 (각 property_id는 한 번만)으로 개요를 얻는 것입니다. 다음 점검 시간은 마지막 상태의 시간 소인 (즉, 모든 상태 _ (연도) 테이블의 max (시간 소인) + check_interval입니다. 이 개요에는 일부 크레딧 (예 : 크레딧> 0)이있는 사용자에게 속한 속성의 property_id 만 포함되어야합니다.
매우 가까운 질문 (Get max row per group from a related table)을 찾았지만 3 개의 테이블과 관련이 있으며 부분적으로 만 문제를 해결하고 있습니다. 필자의 경우, 사용자의 신용 및 여러 주 (년) 테이블이 복잡해지며, 이는 내가 깰 수없는 것입니다.
CHECK_INTERVAL의 값이 무엇인가의 변화를 시도 재산
3 단계마다 가장 최근의 타임 스탬프를 보여줍니다 부질? (일, 월, 기타) – AgRizzo
Check_interval은 초 단위입니다. –