날짜별로 두 테이블 사이에 조인하고 싶습니다. 첫 번째 테이블에는 매일 날짜가 있습니다 - 테이블 a. 두 번째 테이블의 날짜가 거의 없습니다 (매일 날짜가 아님). - 표 b. a.date = (a.date보다 작거나 같은 최대 날짜)MySQL이 동일하지 않은 날짜 사이에 연결
MySQL을 통해이 작업을 수행 할 수있는 방법이 있습니까?
날짜별로 두 테이블 사이에 조인하고 싶습니다. 첫 번째 테이블에는 매일 날짜가 있습니다 - 테이블 a. 두 번째 테이블의 날짜가 거의 없습니다 (매일 날짜가 아님). - 표 b. a.date = (a.date보다 작거나 같은 최대 날짜)MySQL이 동일하지 않은 날짜 사이에 연결
MySQL을 통해이 작업을 수행 할 수있는 방법이 있습니까?
는 가능한 솔루션을 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
에서 필드를 끌어 하위 쿼리를 사용하고있다.
a.date> b.date 인 경우 "on"은 같지 않음 –
내 대답을 업데이트했습니다. – Linger
원하는 결과가있는 DDLS 및/또는 sqlfiddle 위임자를 게시하는 것을 고려하십시오. – Strawberry