如果我有 5 个表,如果我想在单个列中查找 5 个表中至少 2 个出现的元素,我应该使用什么连接函数?即:仅丢弃出现在单个表中的那些元素。
如果我想在至少 3/5 个表中找到共同元素,代码会相似吗?
(我正在使用 MS Access)
谢谢!
我不是 100% 肯定我理解你的问题,但我认为你可以使用UNION ALL
:
select yourcol
from (
select distinct yourcol from t1
union all
select distinct yourcol from t2
union all
select distinct yourcol from t3
union all
select distinct yourcol from t4
union all
select distinct yourcol from t5
) t
group by id
having count(*) >= 2
然后,您可以更改>= 2
为您想要的任何数字。
顺便说一句——如果有问题的列不包含重复项,您可以distinct
从子查询中删除。