0

我想按日期加入两个表之间。第一个表有每天的日期 - 表 a。第二个表有几个日期(不是每天的日期) - 表 b。我希望能够以 a.date=(小于或等于 a.date 的最大日期) 的方式连接这两个表

有没有办法通过 MySQL 做到这一点?

4

1 回答 1

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

于 2013-10-21T14:59:39.463 回答