我有第一个包含列的表:
1. id
2. key
3. value
第二个表(更像列表):
key
我需要从第二个表中获取包含所有键的不同 id
我尝试过自我加入,但速度很慢。我也试过 COUNT = COUNT 但性能相同。
自加入:
select f.id from first
join first f2 on f.id = f2.id AND f2.key = f. key
数数:
select a.keyfrom @a a
where ( select SUM(CASE WHEN k.[key] is not NULL THEN 1 ELSE 0 END) from [b] b
LEFT JOIN Second s on s.key= b.[Key]
where b.[Key] = a.key) = @KeyCount
你也可以检查这个 -
SELECT A.id
FROM TAB1 A
INNER JOIN TAB2 B ON A.[key] = B.[Key]
GROUP BY A.id
HAVING COUNT(DISTINCT A.[key])
= (SELECT COUNT(DISTINCT [Key]) FROM TAB2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句