繁体   English   中英

存在on子句中的未知列

[英]Unkown column in on clause while it is present

连接另一个表时遇到问题。

SELECT rank FROM  
    (
        SELECT highscores.playerID, (@rowID := @rowID + 1) AS rank 
        FROM highscores, (SELECT @rowID := 0) r
        JOIN overall ON highscores.playerID = overall.playerID
        WHERE skillID = ?
        ORDER BY skillExperience DESC, highscores.updateTime ASC
    ) data  
WHERE data.playerID = ?

不断告诉我Unknown column 'highscores.playerID' in 'on clause'中存在的Unknown column 'highscores.playerID' in 'on clause' 我已经在互联网上寻找该问题的解决方案,但是找不到适合我的解决方案。

是引起问题的行号在这里吗? 如果可以,我该如何解决这个问题?

您必须首先将highscores表与总体表连接起来:

SELECT rank FROM  
    (
        SELECT highscores.playerID, (@rowID := @rowID + 1) AS rank 
        FROM
          highscores JOIN overall ON highscores.playerID = overall.playerID,
          (SELECT @rowID := 0) r
        WHERE skillID = ?
        ORDER BY skillExperience DESC, highscores.updateTime ASC
    ) data  
WHERE data.playerID = ?

在您的原始查询中,您将派生表r与整体表连接在一起:

(SELECT @rowID := 0) r
JOIN overall ON highscores.playerID = overall.playerID

由于无法找到highscores.playerID,因此无法工作,因为highscores表将被单独连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM