두 개의 테이블이 있습니다. 하나는 트랜잭션이 있고 (날짜 포함) 있습니다. 백분율과 날짜가 적용된 백분율 (00:00:00으로 가정). 백분율은 새로운 백분율이 적용될 때까지 유효합니다. 거래가 발생했을 때 그 비율에 합류해야합니다.MySQL은 가장 최근 시작일에 JOIN을 원하십니까?
transactions_table
event_date amount
2011-01-01 230
2011-02-18 194
2011-03-22 56
2011-04-30 874
percent_table
effective percent
2010-12-30 15
2011-03-05 25
2011-04-12 30
내가 찾고 결과는 : 나는 시도했다
event_date amount percent
2011-01-01 230 15
2011-02-18 194 15
2011-03-22 56 25
2011-04-30 874 30
: 날 수 있습니다
SELECT t.event_date, t.amount, p.percent
FROM transactions_table AS t
LEFT JOIN percent_table AS p ON t.event_date >= p.effective
ORDER BY `t`.`event_date` DESC LIMIT 0 , 30;
, 겉보기에 임의의 비율. 그것은 나에게 최고의 날짜> = p.effective, 임의의 임의의 날짜> = p.effective를 얻을 필요가있는 것처럼 보입니다.
SELECT t.event_date, p.percent
FROM bedic_sixsummits_transactions AS t
LEFT JOIN bedic_sixsummits_percent AS p ON MAX(t.event_date >= p.effective)
ORDER BY `t`.`event_date` DESC LIMIT 0 , 30
을하지만 MySQL은 내 미약 한 시도 비웃었다 :
나는 시도했다.어떻게하면됩니까? 더욱 간단없이 하위 쿼리와
감사합니다.이 기능은 아름답게 작동합니다. – MikeP