我想按日期加入两个表之间。第一个表有每天的日期 - 表 a。第二个表有几个日期(不是每天的日期) - 表 b。我希望能够以 a.date=(小于或等于 a.date 的最大日期) 的方式连接这两个表
有没有办法通过 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
。