【发布时间】:2020-07-09 01:53:51
【问题描述】:
尝试通过加入内联查询的结果来规范化列 (wgt),如下所示:
select a.monthEnd, ticker, wgt/totWgt
from hold a
inner join (
select monthEnd, sum(wgt*(1+totRet)) as totWgt
from hold
group by monthEnd ) tot
on a.monthEnd = tot.monthEnd
得到以下错误:
Error Code: 1137. Can't reopen table: 'a' 0.00023 sec
我来自 SQL Server,并不熟悉。这里的问题和/或解决方法到底是什么?引用的两个表都是在存储过程中创建并运行 MySQL 8.0 的临时表。
【问题讨论】:
-
在同一个查询中好像不能多次引用临时表,请使用 WITH 子句