我有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个表都具有标题列.因此,我在字段列表中的"列'标题'是模糊的"错误.
如何处理此问题,以便查询显示每行的相关标题字段.
您需要指定要title来自哪个表.猜测标题将在game你需要指定game.title.
如果我是你,我会开始考虑使用临时表将它拆分一下.尽管4个连接没有任何问题,但它确实会让人感到困惑.
示例临时表:
CREATE TABLE #Yaks (
YakID int,
YakName char(30) )
Run Code Online (Sandbox Code Playgroud)
在您的场景中,您将创建一个临时表,然后使用一个INSERT并UPDATE根据各个连接填充它,所以最后您需要做的就是SELECT * FROM @temptable