请教一段SQL语句,要实现的目的:查找身份证号(SFZH)值一样,但姓名(Name)不一样的记录
select * from table where sfzh in (select sfzh from table group by sfzh having count(sfzh)>1
这只是找出身份证号一样的记录,但还想找出姓名不一样的记录,请问SQL语句怎么实现?

解决方案 »

  1.   

    可以存在身份证号一样的记录,但一般都是错误记录,例如
    张三,510824000199909091414
    李四,510824000199909091414张三和李四身份证号一样,但姓名不一样,这是错误的,需要找出来
      

  2.   

    但也可能存在
    张三,510824000199909091414
    李四,510824000199909091414
    张三,510824000199909091414
    张三这天记录可以存在重复,但不允许身份证号一样,姓名不一样。
      

  3.   

    假如实际身份证号码是唯一的,LZ的这些问题应该在输入数据记录时加以避免错误.
    换句话说数据库的数据表结构设计有问题.