我有 3 个表格、消息、主题和message_subject_rel
. 这个想法是让消息与很多主题相关,然后进行跨主题搜索。
假设我有一条消息:
Id: 1, Message: This is a message
2个科目:
Id:1, Subject: Math
Id:2, Subject: Science
并且有 2message_subject_rel
个条目:
Id: 1, message_id: 1, subject_id: 1
Id: 2, message_id: 1, subject_id: 2
如果我想搜索与数学相关的消息,我会与 3 个表进行简单连接,where 子句将是 subject = "Math"
但我不知道该怎么做,就是搜索与数学和科学相关的消息。如果我做一个简单的连接,我会得到类似的表格:
id message user_id created_at ip id message_id subject_id id subject
如果我这样做,where subject = "Math" and subject = "Science"
我不会得到任何结果,因为每条消息在每一行中只有一个相关的主题,但是对于超过 1 个主题的消息,重复的行。
那么,你有什么推荐的?