该表中字段有:所属市区,所属村委,所属街道,姓名,我要将改表中同一市区、村委、街道相同姓名的人进行标志SQL语句该怎样写  

解决方案 »

  1.   

    怎么标志?直接查询不行吗?select 
      姓名
    from tb
    where 所属市区='?' and 所属村委='?' and 所属街道='?'
      

  2.   

    --查询
    select 所属市区,所属村委,所属街道,姓名 from tb group by 所属市区,所属村委,所属街道,姓名 having count(*) > 1标记在哪里?
      

  3.   

    UPDATE a
    SET    Flag = 1
    FROM   [Table] a
    WHERE  (
               SELECT COUNT(1)
               FROM   [Table]
               WHERE  CHECKSUM(所属市区, 所属村委, 所属街道, 姓名) = CHECKSUM(a.所属市区,a.所属村委, 所属街道, 姓名))>1
      

  4.   

    --查询
    select m.* , flag = 1 from tb m where exists
    (select 1 from

    select 所属市区,所属村委,所属街道,姓名 from tb group by 所属市区,所属村委,所属街道,姓名 having count(*) > 1 
    ) n where 所属市区 = n.所属市区 and 所属村委 = n.所属村委 and 所属街道 = n.所属街道 and 姓名 = n.姓名
    )--UPDATE,假设表有字段FLAGupdate tb
    set flag = 1 
    from tb m where exists
    (select 1 from

    select 所属市区,所属村委,所属街道,姓名 from tb group by 所属市区,所属村委,所属街道,姓名 having count(*) > 1 
    ) n where 所属市区 = n.所属市区 and 所属村委 = n.所属村委 and 所属街道 = n.所属街道 and 姓名 = n.姓名
    )