有一表Team,只一个字段name,有四个值,A,B,C ,D,用一条查询语句写出随机两个在一起所有的组合?

解决方案 »

  1.   

    select top 2 * from Team order by newid() 
      

  2.   

    如果不考虑顺序,即ab和ba是不同组合,可以这样
    表名是A,字段name
    select distinct newNameFROM (
    select A.name+B.name  AS NewName
    from A INNER JOIN A AS B ON A.name != b.name)AS AA
      

  3.   

    SELECT TOP 2 * FROM TB ORDER BY NEWID()
      

  4.   

    如果两个字段
    可以相等
    则 
    select distinct newNameFROM (
    select A.name+B.name  AS NewName
    from A ,A AS B)AS AA
      

  5.   

    DECLARE @tb TABLE (id varchar(2),num int)
    INSERT INTO @tb
    SELECT '01',1 UNION ALL
    SELECT '02',9 UNION ALL
    SELECT '03',11 UNION ALL
    SELECT '04',2 SELECT DISTINCT T.ID,T1.ID FROM @TB T CROSS JOIN @TB T1 WHERE T.ID<>T1.ID
    (所影响的行数为 4 行)ID   ID   
    ---- ---- 
    01   02
    01   03
    01   04
    02   01
    02   03
    02   04
    03   01
    03   02
    03   04
    04   01
    04   02
    04   03(所影响的行数为 12 行)???是这意思没
      

  6.   

    DECLARE @T TABLE(
    COL1 VARCHAR(100)
    )
    INSERT INTO @T
    SELECT 'A' UNION ALL
    SELECT 'B' UNION ALL
    SELECT 'C' UNION ALL
    SELECT 'D'SELECT T1.COL1+T2.COL1 'COL1'  FROM  @T T1
    FULL  JOIN @T T2 ON  T1.COL1<>T2.COL1