Mysql SQL-不明确列

Mysql SQL-不明确列,mysql,sql,Mysql,Sql,我看不出这个问题出了什么问题。我得到一个错误,说: “from子句中的列文章\u id不明确” 我知道这可能与表名别名有关,但不确定如何修复。如果查询较小,我可能能够解决一些问题,但这对我来说相当混乱,每次我更改某些内容以尝试修复它时,其他内容就会停止—所以我想我应该先问一下 SELECT bt.topic_title, f.article_id, p.photo_id, ba.title, ba.slug, IFNULL(c.cnt,0) comments, IFNULL(ph.cnt,0)

我看不出这个问题出了什么问题。我得到一个错误,说:

from子句中的列文章\u id不明确

我知道这可能与表名别名有关,但不确定如何修复。如果查询较小,我可能能够解决一些问题,但这对我来说相当混乱,每次我更改某些内容以尝试修复它时,其他内容就会停止—所以我想我应该先问一下

SELECT bt.topic_title, f.article_id, p.photo_id, ba.title, ba.slug,
IFNULL(c.cnt,0) comments, IFNULL(ph.cnt,0) photos, IFNULL(v.cnt,0) videos
FROM blog_article_followers AS f
LEFT OUTER JOIN (
    SELECT article_id, COUNT(comment_id) as cnt
    FROM blog_comments
    GROUP BY article_id) c
    ON f.article_id = c.article_id
LEFT OUTER JOIN (" _
    SELECT article_id, COUNT(photo_id) as cnt
    FROM photos
    GROUP BY article_id) ph
    ON f.article_id = ph.article_id
LEFT OUTER JOIN (
    SELECT article_id, COUNT(video_id) as cnt
    FROM videos
    GROUP BY article_id) v
    ON f.article_id = v.article_id
LEFT JOIN blog_topics bt ON f.topic_id = bt.topic_id
LEFT JOIN blog_articles AS ba USING (article_id)
LEFT JOIN photos AS p USING (article_id)
WHERE f.member_id = 100 AND p.cover = 1
ORDER BY f.follow_date DESC;

您必须重命名该列

LEFT JOIN photos AS p USING (p.article_id)
或者,对于article\u id所属的任何一个表,请尝试替换以下内容:

LEFT JOIN blog_articles AS ba USING (article_id)
LEFT JOIN photos AS p USING (article_id)
用这个

LEFT JOIN blog_articles AS ba ON f.article_id = ba.article_id
LEFT JOIN photos AS p ON f.article_id = photos.article_id