![]() |
1
3
应该不会太糟。如果希望所有组合都包含所选项目(允许附加项目),则如下所示:
您也可以在此处(或在原始查询中)使用notexists,这似乎更容易解释。 最后,您还可以使用一个简单的查询
换句话说,如果我们在寻找{1,2},并且有一个与{1,2,3}的组合,我们会有一个{candidates,allItems}
额外的3个结果是
|
![]() |
2
1
这可能是异端邪说,但对于您的使用场景,最好使用非规范化结构,将组合本身存储为某种复合(文本)值:
如果在生成复合值时总是对objectid进行排序,那么很容易检索给定对象集的组合。 |
![]() |
3
0
另一种选择是使用关系值属性,在sqldbms中称为多集或嵌套表。
http://download.oracle.com/docs/cd/B10500_01/appdev.920/a96594/adobjbas.htm#458790 |
![]() |
Community wiki · SQL语法新手 1 年前 |
|
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |