在子查询访问中无法识别表别名



我创建了一个查询来查找具有匹配ID条件的前一行。在WHERE语句中,我的表别名"t1"不会被识别为别名,并且在运行查询时,系统会提示我输入t1的参数值。根据我的理解,子查询必须有一个表别名。如何使"输入参数值"提示消失?我的SQL代码如下。

SELECT t.NUM, t.ID, tprev.Date_ AS previous_date, tprev.Measurement AS previous_measurement
FROM Table1 AS t LEFT JOIN Table1 AS tprev ON (tprev.Date_ < t.Date_) AND (tprev.id = t.id)
WHERE not exists 
(select 1
from Table1 AS t1
where 
t1 = t.ID
and t1.Date_ < t.Date_
and t1.Date_ > tprev.Date_);

您有一个表别名,但没有列。大概你打算:

where not exists (select 1
from Table1 AS t1
where t1.ID = t.ID and
--------------------------^ this part
t1.Date_ < t.Date_ and
t1.Date_ > tprev.Date_
);

最新更新