当前位置: 代码迷 >> Sql Server >> 信息表xxb,有身份证号sfzh,名称xm,求查询出身份证号不同,姓名不同的数据
  详细解决方案

信息表xxb,有身份证号sfzh,名称xm,求查询出身份证号不同,姓名不同的数据

热度:23   发布时间:2016-04-24 08:51:21.0
信息表xxb,有身份证号sfzh,姓名xm,求查询出身份证号不同,姓名不同的数据?
信息表xxb,有身份证号sfzh,姓名xm,求查询出身份证号不同,姓名不同的数据?
------解决思路----------------------
/* 测试数据
WITH xxb(sfzh,xm)AS(
    SELECT 111,'张三' UNION ALL
    SELECT 222,'张三' UNION ALL
    SELECT 333,'李四' UNION ALL
    SELECT 333,'王五' UNION ALL
    SELECT 444,'马六'
)*/
SELECT a.*, b.*
  FROM xxb a
  JOIN xxb b
    ON (a.sfzh = b.sfzh AND a.xm < b.xm)
    OR (a.sfzh < b.sfzh AND a.xm = b.xm)


       sfzh xm          sfzh xm
----------- ---- ----------- ----
        111 张三         222 张三
        333 李四         333 王五