SQL返回重复的结果

为什么以下SQL查询会返回重复结果?我只想在结果集中返回3行.我猜我的连接不正确.约束应该从查询连接中解释.如果您需要其他信息,请询问.
SELECT 
    [addresstype].name As [Type],[address].city As [City],address.statecode As [State],[address].postalcode As [Zip],[address].addressid As [Id] 
FROM  
    [address]
    LEFT OUTER JOIN [contact_address] ON [address].addressid = [contact_address].addressid 
    LEFT OUTER JOIN [addresstype] ON [addresstype].addresstypeid = [contact_address].addresstypeid 
    LEFT OUTER JOIN [clientcontact] ON dbo.contact_address.contactid = [clientcontact].contactid 
WHERE  
    [contact_address].contactid = 12538 
ORDER BY 
    [address].name,[address].statecode,[address].city

结果:

======================

更多信息

看起来我有多个客户端.我有这个连接的原因不是这个查询,而是另一个依赖于这个查询的查询.它是在.NET代码中定制的规则引擎中构建的.另一个查询需要此clientcontact连接,因为有一个临时表是从UNION查询构建的.如果是这种情况,我真的不需要这个表(clientcontact)与该连接.我得到多行,因为我在clientcontact表中有多个clientid.换句话说,此联系人适用于所有这些客户.但是,我想放入一个WHERE子句,所以我得到3行,但我不能搞乱JOINS.根据我上面的解释,这些是共享的.如何才能做到这一点? …原谅我的正确加入……不应该改变任何事情.不要让那些让你困惑.

相关文章

本篇内容主要讲解“sqlalchemy的常用数据类型怎么使用”,感...
今天小编给大家分享一下sqlServer实现分页查询的方式有哪些的...
这篇文章主要介绍“sqlmap之osshell怎么使用”,在日常操作中...
本篇内容介绍了“SQL注入的知识点有哪些”的有关知识,在实际...
1. mssql权限sa权限:数据库操作,文件管理,命令执行,注册...
sql执行计划如何查看?在SPL庞大的数据中我们不知道如何查看...