我试图比较两个表,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) 我试图从一个服务器插入值到另一个服务器,我得到错误:
消息7202,级别11,状态2,行1无法在sysservers中找到服务器'SNRJDI\SLAMANAGEMENT'.执行sp_addlinkedserver将服务器添加到sysservers.
如何在一个查询中连接两个位于两个不同SQL Server实例的表?
我有一个想法,从两个不同的数据库调用两个值,并在一个语句中comapre他们?可能吗?我正在使用c#和MS-SQL
我有2个SQL服务器.我需要一个SQL查询,可以连接两个不同服务器中的2个表.
喜欢
SELECT *
FROM Server1.Db1.dbo.table1 A
INNER JOIN Server2.Db1.dbo.table2 B ON A.Id = B.Id
Run Code Online (Sandbox Code Playgroud)
我没有服务器名称,而是使用服务器的IP地址.我是否需要将这些SQL服务器作为链接服务器启用以允许此类跨服务器查询?
这个命令有什么问题。
SELECT * INTO database2.table2 FROM database1.table1;
Run Code Online (Sandbox Code Playgroud)
它返回此错误:
错误 1327 (42000):未声明的变量:database2
目标是将数据传输table1到database2.