select distinct b.v as t1,c.v as t2
from a b,a c
执行后数据如下:
1,1
1,2
1,3
2,1
2,2
2,3
3,1
3,2
3,3
在这里,1,2和2,1属于相同行,怎样去掉这些相同行啊?

解决方案 »

  1.   

    create table  tablerepeat
    (
    ID INT ,
    ID2 INT
    )INSERT INTO tablerepeat
    SELECT 1,1 UNION ALL SELECT 
    1,2 UNION ALL SELECT 
    1,3 UNION ALL SELECT 
    2,1 UNION ALL SELECT 
    2,2 UNION ALL SELECT 
    2,3 UNION ALL SELECT 
    3,1 UNION ALL SELECT 
    3,2 UNION ALL SELECT 
    3,3SELECT A.* FROM tablerepeat  A WHERE NOT EXISTS(SELECT  ID ,ID2  FROM tablerepeat B WHERE B.ID2 >B.ID  AND A.ID=B.ID AND A.ID2 = B.ID2) 
    1 1
    2 1
    2 2
    3 1
    3 2
    3 3