加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL返回重复的结果

发布时间:2020-12-12 06:46:46 所属栏目:MsSql教程 来源:网络整理
导读:为什么以下SQL查询会返回重复结果?我只想在结果集中返回3行.我猜我的连接不正确.约束应该从查询连接中解释.如果您需要其他信息,请询问. SELECT [addresstype].name As [Type],[address].city As [City],address.statecode As [State],[address].postalcode A
为什么以下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.根据我上面的解释,这些是共享的.如何才能做到这一点? …原谅我的正确加入……不应该改变任何事情.不要让那些让你困惑.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读