有一张表 里面有 A B C三个字段比如说
A   B    C
S1  S2   1
S2  S3   2
S1  S2   2
S3  S2   1
我想找出所有A字段和B字段合起来 相同的记录比如说 第一行和第三行谢谢

解决方案 »

  1.   

    declare @re varchar(8000)
    set @re=''
    select @re=@re+','+cast(c as varchar)
    from tb
    where a=@a and b=@b 
      

  2.   

    SELECT A,B
    FROM tb_name
    GROUP BY A,B
    HAVING COUNT(*)>1
      

  3.   

    select a,b from t group a,b having count(*)>1
      

  4.   


    --合并函数
    create function fs(@A varchar(10),@B varchar(10))
    returns varchar(100)
    as
    begin
            declare @sql varchar(100)
            select @sql=isnull(@sql+',','')+ltrim(C) from 表名 where A=@A and B=@B
            return @sql
    end
    go--调用
    select distinct A,B,dbo.fs(A,B) from 表名
      

  5.   

    SELECT A,B
    FROM tb_name
    GROUP BY A,B
    HAVING COUNT(*)>1这个很好,很经典!
      

  6.   

    --定义函数
    CREATE function dbo.f_hb(@a varchar(15),@b nvarchar(100)
    returns varchar(8000)
    as
    begin
    declare @re varchar(8000)
    set @re=''
    select @re=@re+','+cast(c as varchar)
    from tb
    where a=@a and b=@b 
    return(stuff(@re,1,1,''))
    end
    --调用
    select a,b,c=dbo.f_hb(a,b) from tb
      

  7.   

    SELECT A,B FROM tbl
    GROUP BY A,B 
    HAVING COUNT(*)>1
      

  8.   

    SELECT A,B,sum(c) as 
    FROM tb_name 
    GROUP BY A,B 
    HAVING COUNT(*)>1 这个很好,很经典!
      

  9.   

    select A,B
    from tablename
    group by A,B
    having count(*)>1