2013-10-21 60 views
0

我想按日期在兩個表之間進行連接。 第一個表格每天都有日期 - 表a。 第二個表有幾個日期(不是每天的日期) - 表b。 我希望能夠加入兩個表的方式, a.date =不等於日期的MySQL連接

有沒有辦法做到這一點通過MySQL的(最大是小或等於a.date日期)?

+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