【发布时间】:2014-02-05 15:48:46
【问题描述】:
我有两个查询(每个查询在不同的表上),每个查询都有自己的 where 子句。
两个表的主键名称不同,但值相同。
我如何提取记录在结果集 1 中,但不在结果集 2 中。
这是两个查询的示例
Query1:
SELECT DISTINCT [EntityID],[Year],[Name],[OperationalStatus],[RefTypeID]
FROM [DB].[dbo].[Entity]
WHERE [Year]='2014' AND [RefTypeID] IN ('abc','xys')
查询2:
SELECT DISTINCT [OrganizationID],[Year],[OperationalStatusID],[Active],[ModifiedBy],[ModifiedDate]
FROM [DB2].[dbo].[Organization] WHERE [Year]='2014'
query1 的主键是 [EntityID],第二个查询的主键是 [OrganizationID]。这两列具有相同的值
【问题讨论】:
-
您的第二个查询未完成,请编辑您的问题以显示实际查询。您还需要告诉我们哪些列/列是/是主键
-
两个查询拉取的列不同。您如何确定哪些记录匹配?
-
很抱歉。我刚刚编辑了第二个查询。
-
MINUS/EXCEPT可能是答案,但我们不清楚要考虑匹配的列。EntityID = OrganizationID是您在两个查询中选择的所有列中唯一匹配的列? -
是的,只有一列包含相似的值。表 1.[实体 ID]=表 2.[组织 ID]。下面的第一个答案做到了。谢谢大家。这太棒了!
标签: sql