SQL全部连接

SQL全部连接,sql,sql-server,Sql,Sql Server,我有一张桌子,一张桌子 Key String 1 Val1 1 Val2 2 Val1 3 Val1 3 Val2 我想加入B桌 Key String 1 Val1 2 Val2 其中我只想得到表A中与表A的所有内容匹配的值。本例中的结果将给出表中的键1和键3。这些是唯一与表B完全匹配的记录 如何使用SQL Server编写SQL?试试以下方法: SELECT a.Key FROM tab

我有一张桌子,一张桌子

Key     String
1       Val1
1       Val2
2       Val1
3       Val1
3       Val2  
我想加入B桌

Key     String
1       Val1
2       Val2
其中我只想得到表A中与表A的所有内容匹配的值。本例中的结果将给出表中的键1和键3。这些是唯一与表B完全匹配的记录

如何使用SQL Server编写SQL?

试试以下方法:

SELECT a.Key
FROM tableA AS a
JOIN tableB AS b ON a.Key = b.Key AND a.String = b.String
GROUP BY a.Key
HAVING COUNT(DISTINCT a.String) = (SELECT COUNT(DISTINCT(String)) 
                                   FROM TableB)

更新了我的问题