克服SQL查询中的模糊字段错误

Sin*_*nan 2 mysql sql

我有4个表和这个查询

SELECT tag.id, title
FROM tag
LEFT JOIN tag_map ON ( tag.id = tag_map.tag_id ) 
LEFT JOIN post ON ( post.id = post_id ) 
LEFT JOIN game ON ( game.id = post_id ) 
LEFT JOIN video ON ( video.id = post_id ) 
WHERE tag_slug =  "blizzard"
ORDER BY tag_map.post_type
Run Code Online (Sandbox Code Playgroud)

此查询中的问题是左连接语句中的3个表都具有标题列.因此,我在字段列表中的"列'标题'是模糊的"错误.

如何处理此问题,以便查询显示每行的相关标题字段.

m.e*_*son 5

您需要指定要title来自哪个表.猜测标题将在game你需要指定game.title.

如果我是你,我会开始考虑使用临时表将它拆分一下.尽管4个连接没有任何问题,但它确实会让人感到困惑.

示例临时表:

CREATE TABLE #Yaks (
YakID int,
YakName char(30) )
Run Code Online (Sandbox Code Playgroud)

在您的场景中,您将创建一个临时表,然后使用一个INSERTUPDATE根据各个连接填充它,所以最后您需要做的就是SELECT * FROM @temptable