微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.根据我上面的解释,这些是共享的.如何才能做到这一点? …原谅我的正确加入……不应该改变任何事情.不要让那些让你困惑.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐