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

在Teradata SQL中查找给定列的哪些行具有差异的值

发布时间:2021-01-24 23:13:20 所属栏目:编程 来源:网络整理
导读:我试图较量来自沟通ID的两个地点,看看它们是否匹配.譬喻: Id Adress Code Address1 1 123 Main1 2 123 Main2 1 456 Wall2 2 456 Wall3 1 789 Right3 2 100 Left 我只想弄清晰每个ID的地点是否匹配.以是在这种环境下,我想只返回ID 3作为地点代码1和2的差异地

我试图较量来自沟通ID的两个地点,看看它们是否匹配.譬喻:

Id  Adress Code     Address
1   1               123 Main
1   2               123 Main
2   1               456 Wall
2   2               456 Wall
3   1               789 Right
3   2               100 Left

我只想弄清晰每个ID的地点是否匹配.以是在这种环境下,我想只返回ID 3作为地点代码1和2的差异地点.

办理要领

插手表格并给它两个差异的别名(A和B).这应承较量统一表的差异行.
SELECT DISTINCT A.Id
FROM
    Address A
    INNER JOIN Address B
        ON A.Id = B.Id AND A.[Adress Code] < B.[Adress Code]
WHERE
    A.Address <> B.Address

“小于”较量<确保您得到2个差异的地点,而且您没有两次得到沟通的2个地点代码.行使“不相称”<>相反,会发生代码为(1,2)和(2,1);个中每一个依次为A别名和B别名.

join子句认真行的配对,个中where子句测试附加前提.

更新:

上述查询合用于任何地点代码.假如要将地点与特定地点代码举办较量,可以将查询变动为

SELECT A.Id
FROM
    Address A
    INNER JOIN Address B
        ON A.Id = B.Id
WHERE                     
    A.[Adress Code] = 1 AND
    B.[Adress Code] = 2 AND
    A.Address <> B.Address

我想这也许有助于找到帐单地点(地点代码= 1作为示例)与递送地点(地点代码= 2)差异的客户.

(编辑:湖南网)

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

    热点阅读