Исключить результат из запроса - PullRequest
0 голосов
/ 23 августа 2011

У меня есть теги текущего видео и сопоставленные с другими видео результаты. Единственная проблема заключается в том, что я хотел бы исключить видео, из которого взяты теги (исключая конкретный 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";

1 Ответ

3 голосов
/ 23 августа 2011
  1. Вы забыли закрыть скобки после предложения ON?

  2. Кроме того, поскольку ваш столбец vid_id присутствует вВ таблице видео и в таблице тегов вам нужно указать имя таблицы в предложении WHERE (да, хотя для оператора 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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...