【发布时间】:2016-06-06 12:32:20
【问题描述】:
我有一个带有列的"messages" 表:"id"、"title"、
"categories" 包含列的表:"id"、"title"、
和"messages_categories" 链接表与列:"message_id","category_id"。
假设我们有messages,ID 为
1,2,3
和categories,ID 为
1,2,3
messages_categories 的数据为
message: 1, category: 1
message: 2, category: 1
message: 2, category: 2
message: 3, category: 1
message: 3, category: 2
message: 3, category: 3
例如,我想找到完全匹配或更多的匹配项
如果我搜索类别 1,我会收到消息 1、2、3
如果我搜索类别 1,2,我会收到消息 2,3
如果我搜索类别 1、2、3,我只会得到消息 3
我使用了很多 id,所以加入每个类别可能太多了。
我发现我可以将"having" 语句与"sum" 和"count" 一起使用来查找确切的行
但还不够好。
感谢任何帮助,Nevo。
【问题讨论】:
-
请澄清“我使用了很多 ID,所以加入每个类别可能太多了。”你的意思是你指定了很多类别作为输入?如果是,那么有多少?
-
“完全匹配或更多”毫无意义!但是,从您的示例中,您似乎想要查找给定列表中所有类别中的任何和所有消息 ID?即,给定类别列表 (1,2),您想知道类别 1 和 2 中的所有消息吗?
-
“找到确切的行但还不够好”是什么意思。
标签: sql sql-server tsql