2011-09-16 3 views
1

지금 백엔드를하고 있는데 날짜 범위별로 객실 수 목록을 만들려고합니다.입력 한 날짜 범위에 존재하지 않는 경우 가장 가까운 날짜 가져 오기

되는 HTML에서

id room_type_id room_count date_applied 
1 1   2   2011-09-01 
1 1   3   2011-09-05 
1 1   1   2011-09-06 

DB 구조 : 2011 -9 월-01 하려면 : 2011 -9 월-06 사용자가에서 를 입력

경우. 이것은 디스플레이가됩니다. (이것은 이미 OK입니다)

Date   Room Count 
2011-Sept-1 2 
2011-Sept-2 2 
2011-Sept-3 2 
2011-Sept-4 2 
2011-Sept-5 3 
2011-Sept-6 1 

을 그리고 내 문제는 이제 사용자가에서에 입력하고 데이터베이스에 저장된 데이터의 범위를 벗어나 이미 때이다. 샘플 : 보낸 사람 : 2011-09-07받는 사람 : 2011-09-09

출력은 HTML 형식으로 표시되어야합니다.

Date   Room Count 
2011-Sept-7 1 
2011-Sept-8 1 
2011-Sept-9 1 

데이터베이스에서 가장 가까운/마지막 데이터를 가져옵니다. 이 샘플의 경우 2011-09-06

어떤 도움을 주셔서 감사합니다.

+0

더 낮은 날짜에만 더 가까운 날짜 만 표시해야합니까? 또는 상위 날짜에도? –

+0

가장 가까운 날짜 만 찾습니다. – Harold

답변

0

그런 이유로 가장 낮은 날짜를 찾는 하위 쿼리를 실행해야 할 수도 있습니다. 해당 날짜부터 종료 날짜까지 시작하십시오.

예를 들면.

SELECT * FROM tbl WHERE date BETWEEN (SELECT date FROM tbl WHERE date < lower_range LIMIT 1) AND upper_range 
+0

감사합니다. 도움이됩니다. – Harold

관련 문제