2015-11-03 100 views
0

之間分揀非重複的列我有這樣ACCES SQL查詢另兩個重複列

AccNo cpno Echeckid EDescription 

14D  150101 5004 A and N 
14D  150101 5004 A and N 
14F  191001 5019 Smart D L M 
14F  191001 5019 Smart D L M 
177A 011902 1016 P Bm and F 
177A 011902 1014 B B - F/R 
17D  011902 1016 P Bm and F 
17D  011902 1014 B B - F/R 
17D9 011901 1014 B B - F/R 
17D9 011901 1016 P Bm and F 

在上述表ACCNO一個表,CPNO 177A,011902 & 17D,011902 & 17D9,011901組合具有不同Echeckid和EDescription。 我想只排序AccNo,cpno組合,其中Echeckid是不同的。排序表看起來像。

AccNo cpno Echeckid EC Description 
177A 011902 1016 P Bm and F 
177A 011902 1014 B B - F/R 
17D  011902 1016 P Bm and F 
17D  011902 1014 B B - F/R 
17D9 011901 1014 B B - F/R 
17D9 011901 1016 P Bm and F 

如何在access sql中指定該值。

+0

你的意思是排序和過濾? –

回答

0

您可以通過聚合並加入來過濾該行:

select t.* 
from t inner join 
    (select accno, cpno 
     from t 
     group by accno, cpno 
     having min(echeckid) <> max(echeckid) 
    ) as ac 
    on t.accno = ac.accno and t.cpno = ac.cpno 
order by t.accno, t.cpno; 
+0

輝煌!像魅力一樣工作。 – SLV

0

你可以這樣開始:

select AccNo, cpno 
from table 
group by AccNo, cpno 
having count(distinct Echeckid, EDescription) > 1 

UPDATE:

如果您的接入的版本不支持多列不同您可以CONCAT他們像count(distinct CONCAT(Echeckid, EDescription))或使用min <> max爲@GordonLinoff建議

+0

確實允許'獨特的Echeckid,EDescription'?也許'獨特的CONCAT(Echeckid,EDescription)' – Mihai

+0

@Mihai可能你是對的,我沒有手工訪問,所以如果它不被支持,你可以連接列獲得單個值 –

+0

訪問不支持「count(distinct)」。大多數數據庫不支持具有多個參數的「count(distinct)」。 –