关于两表连接 提示标识符无效的问题


设表tbA ,表结构为

unit  ele    jxrq

aa    aa1     2023-03-01    

aa    aa2     2023-03-05    

..     ..      .........

表tbB,表结构为 

ele        rq           vv1  vv2  vv3 

 aa1     2023-02-27    5     12    11

 aa1     2023-02-28    6     22    33

 aa1     2023-03-01    7     21    31

 aa2     2023-03-01    15    66   56

 aa2     2023-03-02    17    56   55 

 ..       .........    ..

select * from tbA t left join (select ele,avg(vv1), avg(vv2),avg(vv3) from tbB where rq>=t.jxrq-4 and rq<=t.jxrq-2 group by ele) a on a.ele=t.ele  

用以上语句写,提示错误:t.jxrq 标识符无效 ,该如何解决该问题呢?

join 操作关联的时候,无法使用关联表相关字段作为自身查询依据

你可以使用 apply 来操作