错误1054:列是未知的,运行相同的单独查询运行没有问题



我有一个包含三个JOINS的查询,其中涉及两个子查询。

SELECT TK.id, TK.idtype,
TK.twitter, TK.hive,
TK.discord, TK.name,
TK.description, TK.maxSupply,
TK.symbol, TK.idTbGallery,
TK.active, t1.*, t3.* FROM tb_tokensupply t1
JOIN (SELECT idToken, MAX(datetime) datetime FROM tb_tokensupply GROUP BY idToken) t2 ON t1.idToken = t2.idToken AND t1.datetime = t2.datetime
JOIN tb_tokens TK ON TK.id = t2.idToken
JOIN (SELECT MAX(price), MIN(price) FROM tb_tokensprice) t3 ON t1.idToken = t3.idToken
WHERE TK.id=84 AND TK.active = 1

这个查询给了我以下错误:

错误1054:t3。idToken on子句未知。

但是,下面的查询可以工作:

SELECT MAX(price), MIN(price) from tb_tokensprice WHERE idToken = 84

谁能帮助找出为什么相同的查询内JOIN不工作?

谢谢你的帮助。

错误告诉您问题所在:">t3。idToken on子句未知"因为你没有把它带进你的选择中。更新t3"子查询如下:

(SELECT MAX(price), MIN(price), idToken FROM tb_tokensprice GROUP BY idToken) t3

SELECT MAX(price), MIN(price) from tb_tokensprice WHERE idToken = 84工作的原因是因为WHERE子句是使用">tb_tokenprice"表。

另一方面,更大的查询只使用">tb_tokenprice"计算MAXMIN,然后只返回这两个字段,您将没有对">idToken"的引用。

相关内容

  • 没有找到相关文章

最新更新