我有两张桌子
T1
col1 col2
A 1
A 2
B 1
C 2
T2
col1
1
2
我想检索tab1中与tab2中所有记录匹配的记录,
对于给定的场景,我想输出A只是因为它在col2中同时包含1和2,而B和C只有1或2(不是两者)。
答案 0 :(得分:0)
您可以这样编写查询:
select t1.col1
from t1 join
t2
on t1.col2 = t2.col1
group by t1.col1
having count(distinct t1.col2) = (select count(distinct t2.col1) from t2);
这会计算第一个表中匹配值的数量,并将其与表格中的值总数进行比较。