我一直在看这个,我不知道为什么这个 CTE 会一直运行到超时。有人看到我没有看到的东西吗?
请注意,InventoryTimeline.RecID 是连续的行号(1、2、3、...)。我希望此查询为每个 ItemNum 生成三行。
WITH RECURSIVE CTE (RecID, ItemNum)
AS
(
SELECT
T.RecID,
T.ItemNum
FROM
InventoryTimeline T
WHERE
T.RecID = 1
UNION ALL
SELECT
T.RecID,
T.ItemNum
FROM
InventoryTimeline T INNER JOIN CTE ON
T.RecID = CTE.RecID + 1 AND
T.ItemNum = CTE.ItemNum
WHERE
T.RecID <= 3
)
SELECT *
FROM CTE;
将其作为存储过程运行并不能解决我在 MariaDB 上遇到的挑战。
我也面临着同样的挑战。它运行几秒钟并返回消息
错误代码:2013。查询期间失去与 MySQL 服务器的连接
其他人也有这个问题吗?