Sql 如何查找记录是否匹配

Sql 如何查找记录是否匹配,sql,matching,Sql,Matching,这可能很简单,我就是想不通 我想显示一个客户列表,这些客户的账单所在城市和客户所在城市不同。账单地址位于名为发票的表格中,客户地址位于名为客户的表格中 是否有一个函数可以显示不同的函数 这可能很简单,我就是想不通 我想显示一个客户列表,这些客户的账单所在城市和客户所在城市不同。账单地址位于名为发票的表格中,客户地址位于名为客户的表格中 是否有一个函数可以显示不同的函数 我可以使用联接轻松地将这两个表显示在一起,但现在我想区分它们 select c.LastName, c.

这可能很简单,我就是想不通

我想显示一个客户列表,这些客户的账单所在城市和客户所在城市不同。账单地址位于名为发票的表格中,客户地址位于名为客户的表格中

是否有一个函数可以显示不同的函数

这可能很简单,我就是想不通

我想显示一个客户列表,这些客户的账单所在城市和客户所在城市不同。账单地址位于名为发票的表格中,客户地址位于名为客户的表格中

是否有一个函数可以显示不同的函数

我可以使用联接轻松地将这两个表显示在一起,但现在我想区分它们

    select
    c.LastName,
    c.City,
    i.billingCity
    from Customers c
    inner join invoices i on c.customerId = i.customerId

使用EXISTS子句的一个简单选项:

如果您还想显示其他不匹配的发票城市,则需要使用联接方法:

SELECT
    c.LastName,
    c.City,
    i.billingCity
FROM Customers c
INNER JOIN invoices i
    ON i.customerId = c.customerId AND
       i.billingCity <> c.City;

您最初的主要问题是忽略了连接条件。

如果一个客户有两张发票,一张有匹配的城市,另一张没有。非常感谢!这正是我要找的。谢谢。你介意我问一下吗;如果我需要相反的结果,找到billingcity和city具体相同的所有值,我会使用什么函数?本质上,什么是相反的:?加入条件i.billingCity=c.City
SELECT
    c.LastName,
    c.City,
    i.billingCity
FROM Customers c
INNER JOIN invoices i
    ON i.customerId = c.customerId AND
       i.billingCity <> c.City;