Sql 查询关联N-N
我的数据库中有如下表格: 注意:Sql 查询关联N-N,sql,database,foreign-keys,Sql,Database,Foreign Keys,我的数据库中有如下表格: 注意: ID\u外键引用A(ID) ID_B外键引用B(ID) 现在我的问题是: 假设有一个像{12,15,26}这样的ID列表,我想找到B的所有值,这些值都关联到集合中。 我可以这样做: select ID_B from AB where ID_A = 12 intersect select ID_B from AB where ID_A = 15 intersect select ID_B from AB where ID_A = 26 但它并没有表现得那么出色
ID\u外键引用A(ID)
ID_B外键引用B(ID) 现在我的问题是:
假设有一个像{12,15,26}这样的ID列表,我想找到B的所有值,这些值都关联到集合中。 我可以这样做:
select ID_B from AB where ID_A = 12
intersect
select ID_B from AB where ID_A = 15
intersect
select ID_B from AB where ID_A = 26
但它并没有表现得那么出色和优雅。哪种方法是正确的
如果我想找到在集合中有最大n个错误的值的结果?(例如,n=2-->查找集合中具有所有值的所有记录,以及集合中具有+2(最多两个加法值)和-2(最多两个减法值)值的所有记录)。执行
分组,使用HAVING
确保找到所有不同的ID\u a值:
select ID_B
from AB
where ID_A in (12, 15, 26)
group by ID_B
having count(distinct ID_A) = 3