相关疑难解决方法(0)

sql查询返回两个表之间的差异

我试图比较两个表,SQL Server,以验证一些数据.我想从两个表中返回所有行,其中数据在一个或另一个中.从本质上讲,我想表明所有的差异.我需要检查三个数据,FirstName,LastName和Product.

我对SQL很新,似乎很多我发现的解决方案都让事情变得复杂.我不必担心NULL.

我开始尝试这样的事情:

SELECT DISTINCT [First Name], [Last Name], [Product Name] FROM [Temp Test Data]
WHERE ([First Name] NOT IN (SELECT [First Name] 
FROM [Real Data]))
Run Code Online (Sandbox Code Playgroud)

我在进一步考虑这个问题时遇到了麻烦.

谢谢!

编辑:

根据@treaschf的回答,我一直在尝试使用以下查询的变体:

SELECT td.[First Name], td.[Last Name], td.[Product Name]
FROM [Temp Test Data] td FULL OUTER JOIN [Data] AS d 
ON td.[First Name] = d.[First Name] AND td.[Last Name] = d.[Last Name] 
WHERE (d.[First Name] = NULL) AND (d.[Last Name] = NULL)
Run Code Online (Sandbox Code Playgroud)

但是当我知道td中至少有一行不在d中时,我一直得到0结果.

编辑:

好吧,我想我弄明白了.至少在我测试的几分钟内它似乎工作得很好.

SELECT [First Name], [Last Name]
FROM …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 sql-server-2008

183
推荐指数
6
解决办法
55万
查看次数