У меня есть две таблицы, одна для сообщений, одна для тегов, связанных с сообщениями, где posts.tags содержит идентификаторы тегов, связанных с сообщением.
Сообщения:
id | title | tags
-----------------
1 | Foobar | 1 3 7
2 | Barfoo | 2 3 7
теги:
id | tag
--------
1 | Tag1
2 | Tag2
... and so forth
При запросе к сообщению я хотел бы получить сообщение со всеми его тегами в виде разделенной пробелами строки вместо идентификатора тега.
Я пробовал запрос как:
SELECT *,
(
SELECT GROUP_CONCAT(tags.tag)
FROM tags
WHERE tags.id LIKE 1 OR tags.id LIKE 3
) AS tag_str
FROM posts
Это в основном выводит то, что я ищу; То, что я не могу понять, это правильное условие WHERE в подпункте, которое проверяет, по моим собственным словам, «для тегов WHERE tag.id соответствует любой разделенной пробелами числовой строке в posts.tags» - если есть такой запрос возможно?
Любая помощь приветствуется,
к.