我有两张表A和B,其值低于
表A
X
------
1
2
3
表B
X Y
------ ------
1 A
2 A
3 A
1 B
2 B
1 C
3 D
我只需要找到表B中与表A中的所有值匹配的Y值。 因此,对于上面的示例,匹配的唯一Y值是A(A的X值为1,2和3)
答案 0 :(得分:0)
这是" set-within-sets"子查询。我喜欢用聚合和having
子句来解决这个问题。
select b.y
from tableB b join
tableA a
on b.X = a.X
group by b.y
having count(distinct b.x) = (select count(*) from tableA);