2017-06-02 46 views
0

我有一个包含下列数据的表:过滤掉多次出现在表中的条目

Table t1 

A  | B 
12  56 
12  56 
10  8 
10  9 
10  11 
9   55 
9   66 

我需要写认定其具有A列的相同值的列值的程序,但列B中的不同值。

我的结果应该是如下:

A | B 
10  8 
10  9 
10  11 
9   55 
9   66 

A是相同的,并且B是用于A每个值不同。

回答

0
select distinct leftside.* 
from t1 leftside 
inner join t1 rightside 
where leftside.A = rightside.A 
and leftside.B != rightside.B 
order by A, B 

http://sqlfiddle.com/#!9/578f2f/5

0

请尝试以下查询:

SELECT 
    A 
    , B 
FROM 
(
    SELECT 
     A, 
     B, 
     COUNT(*) AS Total 
    FROM 
     t1 
    GROUP BY 
     A, 
     B 
) AS Results 
WHERE 
    Results.Total = 1 

这个查询将隐藏发生在表t1不止一次任何条目。