2013-10-21 2 views
0

날짜별로 두 테이블 사이에 조인하고 싶습니다. 첫 번째 테이블에는 매일 날짜가 있습니다 - 테이블 a. 두 번째 테이블의 날짜가 거의 없습니다 (매일 날짜가 아님). - 표 b. a.date = (a.date보다 작거나 같은 최대 날짜)MySQL이 동일하지 않은 날짜 사이에 연결

MySQL을 통해이 작업을 수행 할 수있는 방법이 있습니까?

+0

원하는 결과가있는 DDLS 및/또는 sqlfiddle 위임자를 게시하는 것을 고려하십시오. – Strawberry

답변

1

는 가능한 솔루션을 SQL Fiddle를 참조하십시오

SELECT A.Date AS ADate, A.Value AS AValue, 
(
SELECT B.Date 
    FROM B 
    WHERE B.Date <= A.Date 
    ORDER BY B.Date DESC 
    LIMIT 1 
) AS BDate, 
(
SELECT B.Value 
    FROM B 
    WHERE B.Date <= A.Date 
    ORDER BY B.Date DESC 
    LIMIT 1 
) AS BValue 
FROM A 
WHERE A.Date = '2013-03-01' 

을 나는 위의 그냥 테이블 B에서 필드를 끌어 하위 쿼리를 사용하고있다.

+0

a.date> b.date 인 경우 "on"은 같지 않음 –

+0

내 대답을 업데이트했습니다. – Linger

관련 문제