我目前正在寻找将一些日期分组到各自的几周,同时总结每周的一个字段(在这种情况下,它是'距离')。最重要的是,我想为要进行的查询提供日期范围。所以我有以下SQL:
$sql = "SELECT week(lapDate) AS WEEK, sum(distance) AS DISTANCE
FROM activity
LEFT JOIN lap
ON activity.activityID = lap.lapDate
AND activity.email = '$email'
AND lap.lapDate BETWEEN '$fromDate' AND '$toDate'
GROUP BY WEEK
";
没有发生错误,我只是返回了空值。有什么建议吗?
非常感谢任何帮助。
答案 0 :(得分:0)
您正在引用left outer join
第二个表格中的日期。如果没有匹配项,那么您将获得NULL
个值。
SELECT week(a.activityID) AS WEEK, sum(distance) AS DISTANCE
FROM activity a LEFT JOIN
lap
ON a.activityID = lap.lapDate AND
a.email = '$email' AND
lap.lapDate BETWEEN '$fromDate' AND '$toDate'
GROUP BY WEEK;
对我来说,一个表中名为ActivityId
的列与另一个表中的“日期”字段匹配似乎很奇怪。也许你也有错误的加入标准。