1

伙计们正在寻求一点帮助。我试图在 php myadmin 中运行此查询。需要用 4 组数据更新一个临时表..一个表中的 3 组..另一个表中的 1 组,同时加入 3 个表。在我没有唯一表别名的第二次 JOIN 之后,错误又回来了。我不知道如何解决这个问题。谁能看到查询出错的地方?谢谢。

INSERT INTO jos_jxgallery_assign_ratings_temp( image_id, pscore, hits, contest_id )
SELECT jos_jxgallery_images.image_id, jos_jxgallery_images.pscore, jos_jxgallery_images.hits, jos_jxgallery_contests.contest_id
    FROM jos_jxgallery_images, jos_jxgallery_contests
    INNER JOIN jos_jxgallery_contest_image_map ON jos_jxgallery_images.image_id = jos_jxgallery_contest_image_map.image_id
    INNER JOIN jos_jxgallery_contests ON jos_jxgallery_contest_image_map.contest_id = jos_jxgallery_contests.contest_id
    WHERE jos_jxgallery_contests.published =1
    AND jos_jxgallery_images.published =1
    ORDER BY jos_jxgallery_images.pscore DESC , jos_jxgallery_images.hits DESC
    LIMIT 25

    MySQL said: Documentation
        #1066 - Not unique table/alias: 'jos_jxgallery_contests' 

现在,当我将查询更改为此...我在查询下方列出了另一个错误。有任何想法吗?

 INSERT INTO jos_jxgallery_assign_ratings_temp( image_id, pscore, hits, contest_id )
SELECT jos_jxgallery_images.image_id, jos_jxgallery_images.pscore, jos_jxgallery_images.hits, jos_jxgallery_contests.contest_id
FROM jos_jxgallery_images, jos_jxgallery_contests
INNER JOIN jos_jxgallery_contest_image_map ON jos_jxgallery_images.image_id = jos_jxgallery_contest_image_map.image_id
INNER JOIN jos_jxgallery_contests AS con ON jos_jxgallery_contest_image_map.contest_id = con.contest_id
WHERE con.published =1
AND jos_jxgallery_images.published =1
ORDER BY jos_jxgallery_images.pscore DESC , jos_jxgallery_images.hits DESC
LIMIT 25

MySQL said: Documentation
#1054 - Unknown column 'jos_jxgallery_images.image_id' in 'on clause' 
4

1 回答 1

0

您在 FROM 和 INNER JOIN 中使用 jos_jxgallery_contests。在 INNER JOIN 中,您建立了一个模棱两可的连接。你为什么要这么做?

于 2012-08-17T19:55:33.163 回答