我有一个获取当前视频的标签,并将其与其他视频进行匹配以获得结果。唯一的问题是我想排除标签来自的视频(排除特定的vid_id)。我试过以下但是AND vid_id!=some_id
行打破了它。有什么想法吗?
$sql = "SELECT video.*,COUNT(*) as count FROM tags LEFT JOIN video
ON (tags.vid_id = video.vid_id)
WHERE name IN(?,?) AND vid_id!=some_id
GROUP BY vid_id ORDER BY count DESC LIMIT 5";
答案 0 :(得分:3)
您是否忘记在ON子句后关闭括号?
此外,由于您的vid_id列同时出现在视频表中 在标签表中,您需要指定表中的表名 WHERE-clause (是的,即使ON语句要求它们 等于)
这给出了:
$sql = "SELECT video.*,COUNT(*) as count
FROM tags
LEFT JOIN video
ON (tags.vid_id = video.vid_id)
WHERE name IN(?,?)
AND video.vid_id != some_id
ORDER BY count DESC
LIMIT 5";