Mysql 在左联接子查询中使用主表中的字段
我想通过帮助日历表选择值。查询如下所示:Mysql 在左联接子查询中使用主表中的字段,mysql,sql,Mysql,Sql,我想通过帮助日历表选择值。查询如下所示: SELECT t1.starttime, t1.endtime, t2.sum_val1, t2.avg_val2 FROM eco_546d9dff955b5_help t1 LEFT JOIN ( SELECT SUM(val1) AS sum_val1, AVG(val2) AS avg_val2 FROM eco_546d9dff955b5
SELECT
t1.starttime,
t1.endtime,
t2.sum_val1,
t2.avg_val2
FROM
eco_546d9dff955b5_help t1
LEFT JOIN (
SELECT
SUM(val1) AS sum_val1,
AVG(val2) AS avg_val2
FROM
eco_546d9dff955b5
WHERE
`timestamp` > t1.starttime
AND `timestamp` <= t1.endtime
) t2 ON t1.starttime <= t2.`timestamp` AND t1.endtime >= t2.`timestamp`
但是在运行这段代码时,我在where子句中得到了未知的列t1.starttime?是否可以使t1.starttime可用于子查询?考虑提供适当的DDL和相应的所需结果您希望得到什么?只要使用左连接,就可以从内部选择中删除WHERE子句。结果是一样的。如果表eco_546d9dff955b5不包含数百万条记录,我建议这样做,以避免出现性能问题。