2017-06-02 47 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不止一次任何條目。