我需要从 't'(线程)返回所有包含 'menu_item_id' = 1 的项目。
另外,我需要根据f.tag对以上所有结果进行过滤。
SELECT t.*, u.username AS owner, uu.username AS replyname, a.location
FROM thread t
INNER JOIN filter_thread as ft ON t.thread_id = ft.thread_id
INNER JOIN filter as f ON f.filter_id = ft.filter_id
INNER JOIN users u ON t.owner_id = u.id
INNER JOIN users uu ON t.last_post_id = uu.id
INNER JOIN user_profiles AS up ON u.id = up.user_id
INNER JOIN avatars AS a ON up.avatar_id = a.id
WHERE t.menu_item_id='1'
AND f.tag LIKE '%hello%'
OR f.tag LIKE '%world%'
问题区域:AND f.tag LIKE '%hello%'
OR f.tag LIKE '%world%'
要意识到的重要一点是,'hello' 和 'world' 可能并不总是在查询中。此外,可能还会添加 3 个搜索,但menu_item_id
始终会搜索。
我不希望所有结果都需要每个 f.tags,我只想让结果包含它们中的任何一个(OR)。
任何帮助,将不胜感激。