错误:未知列';catId';在';来自条款';


Error: Unknown column 'catId' in 'from clause'

我在WAMP上运行过这个脚本,它运行得很好。当我试图上传它时,我遇到了一个错误,不确定它的真正含义。

SELECT *, COUNT(DISTINCT forum_thread.threadId) AS 'threadTotal', COUNT(DISTINCT forum_posts.postId) AS 'postTotal'
FROM forum_cat
LEFT JOIN forum_posts USING (catId)
LEFT JOIN forum_thread USING (catId)
    LEFT JOIN users ON users.userId = forum_posts.userId
GROUP BY forum_cat.catId

这是在WAMP中运行良好的SQL脚本;在线我得到以下错误

注意:查询:SELECT*,COUNT(DISTINCT forum_thread.threadId)为'threadTotal',CONUNT(DISTINCT forum_posts.postId)为'spostTotal'FROM forum_cat LEFT JOIN forum_post USING(catId)LEFT JOINforum_tthread USING(catId)LEFTJOIN users.userId=forum_phosts.userId GROUP BY catId
MySQL错误:"from clause"中的未知列"catId"

错误告诉您出了什么问题。没有这样的栏。可能您未能准确地重新创建表架构。

可能有catid列在多个表中,所以使用列名为的alias

试试下面的:

SELECT *, COUNT(DISTINCT ft.threadId) AS 'threadTotal', COUNT(DISTINCT fp.postId) AS 'postTotal'
FROM forum_cat as fc
LEFT JOIN forum_posts as fp USING(fp.catId)
LEFT JOIN forum_thread as ft USING(ft.catId)
    LEFT JOIN users ON users.userId = fp.userId
GROUP BY fc.catId