首页 > 解决方案 > 如何查找表A中的所有列是否存在于表B中

问题描述

Table A
Id	name	phone
1	sam	  7753457893
2	tom	  7753457893
3	pop	  7753457893
4	john  7753457893

table B

name	phone
sam	  7753457893
tom	  7753457893
pop	  7753457893
john  7753457893

如何查找表 A 中的所有列是否存在于表 B 中。我尝试使用 except,但出现编译错误“设置运算符输入分支的列数无效,预期为 22,得到 11”。我使用了此查询“从表 B 中选择 *,但从表 A 中选择 *”。表 A 有 22 列,表 B 有 11 列。我需要一个查询来知道表 B 中的所有列都在表 A 中

基本上我想知道表 B 是否是表 A 的子集。

标签: sqldatabase

解决方案


您可以使用此查询 SELECT ColumnFromB FROM TableB EXCEPT SELECT ColumnFromA FROM TableA 这将为您提供 B 中但不在 A 中的记录列表。然后您可以将结果插入表变量,并检查其 COUNT(如果 count= 0 'subset' 否则不是子集) .


推荐阅读