我一直在努力创建以下查询。我收到了一个包含2k个ID
s的电子表格。我需要弄清楚这些ID
是否在两个不同的表中有记录。每个ID
可以有多个记录,这取决于它们属于哪个组。
示例:
表masterIDS
(我将数据导入到一个临时表中(、表IDS
和表AuditGroup
主IDS
ID |
---|
1 |
2 |
我相信这应该能实现你想要的,它返回了一个AuditGroup表中不存在的ID和位置表。
-- Create MasterIDs and insert test data
CREATE TABLE #MasterIDs ([ID] INT)
INSERT INTO #MasterIDs VALUES (1)
INSERT INTO #MasterIDs VALUES (2)
-- Create IDs and insert test data
CREATE TABLE #IDs ([ID] INT, [location] INT)
INSERT INTO #IDs VALUES (1, 10)
INSERT INTO #IDs VALUES (2, 12)
-- Create AuditGroup and insert test data
CREATE TABLE #AuditGroup ([name] CHAR(1), [location] INT)
INSERT INTO #AuditGroup VALUES ('X', 10)
INSERT INTO #AuditGroup VALUES ('Y', 10)
SELECT mid.*, id.[location]
FROM #MasterIDs mid
LEFT JOIN #IDs id
ON mid.ID = id.ID
WHERE id.[location] NOT IN (SELECT [location] FROM #AuditGroup)
DROP TABLE #MasterIDs
DROP TABLE #IDs
DROP TABLE #AuditGroup