我想使用WHERE子句在特定日期范围内调用数据
我在下面的查询中,我哪里出错了?
CREATE DEFINER=`root`@`localhost` PROCEDURE daterange
BEGIN
WHERE DATE(A.RaceDate) = (A.RaceDate BETWEEN '2017-01-01'AND '2018-01-01')
SELECT A.ID,
A.RaceDate,
track.Name AS Track,
A.BFSP,
FROM raceresult A
LEFT OUTER JOIN track ON track.ID = A.TrackID
ORDER BY Track, A.RaceDate ASC
;
END
在WHERE
您的查询的WHERE子句所属的查询,而不是外界/前。我建议以下更新版本:
WHERE A.RaceDate >= '2017-01-01' AND A.RaceDate < '2018-01-02'
请注意,我在这里使用了不等式,右边的条件表示将整个日期2018-01-01
作为要包括的最后一整天。
您更新的查询可能如下所示:
SELECT
...
FROM raceresult A
LEFT JOIN track ON track.ID = A.TrackID
LEFT JOIN going ON going.ID = A.GoingID
LEFT JOIN type ON type.ID = A.TypeID
LEFT JOIN type Type1 ON Type1.ID = A.Type1ID
LEFT JOIN type Type2 ON Type2.ID = A.Type2ID
LEFT JOIN distance ON distance.ID = A.DistanceID
WHERE A.RaceDate >= '2017-01-01' AND A.RaceDate < '2018-01-02'
ORDER BY Track, A.RaceDate, `Time`, BFSP
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句