SQL选择,匹配一列而不是另一列

Fre*_*lad 4 sql sql-server sql-server-2008

我在SQL Server 2008 R2数据库中有两个表,我们称之为A和B.它们看起来像这样

A
--------------------
GUID     Primary Key
B_GUID   Foreign Key
Value    nvarchar(50)

B
--------------------
GUID     Primary Key
Value    nvarchar(50)
Run Code Online (Sandbox Code Playgroud)

我想选择的所有行A,其中

  • A中的B_GUID与GUID匹配 B
  • A中的值与ValueB中的值不匹配

但是,我无法弄清楚SQL.有帮助吗?:) 谢谢

mar*_*c_s 5

怎么样:

SELECT A.*
FROM dbo.A
INNER JOIN dbo.B ON A.B_GUID = B.GUID
WHERE
    A.Value <> B.Value
Run Code Online (Sandbox Code Playgroud)

INNER JOIN将两个表匹配在一起,在这两个列的相等性上,WHERE子句将其进一步限制为仅适用于该条件的两行.