Как написать запрос для получения связанных видео?

#php #mysql

#php #mysql

Вопрос:

Мои таблицы :

tb_videos

 id,
name
  

tb_video_tags

 id,
video_id,
tag
  

Я хочу выбирать видео и связанные с ними видеоролики с помощью тегов.

Комментарии:

1. Вы ищете все видео, связанные только с ОДНИМ видео по некоторому значению параметра. Пример: видео «X» связано с тегами «A», «B», «G», тогда вы хотите найти все видео, связанные с «A», «B» и «G»? Или… вам нужны только все видео, связанные с тегом «A», или … теги «A» ИЛИ «B», или … теги «A» И «G»?

Ответ №1:

Вы можете попробовать с:

    SELECT v.id, v.name, vr.id AS related_id, vr.name AS related_name
     FROM tb_videos AS v
LEFT JOIN tb_video_tags AS vt
       ON vt.video_id = v.id
LEFT JOIN tb_videos AS vr
       ON vt.video_id = vr.id
      AND v.id != vr.id
  

Ответ №2:

 SELECT v.name
FROM tb_video_tags t, tb_video v
WHERE v.id = t.video_id
  

попробуйте и получайте удовольствие