我有一张像
这样的表格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。
我试图只对ENckid不同的AccNo,cpno组合进行排序。排序表看起来像。
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
如何在访问sql中指定。
答案 0 :(得分:0)
你可以从:
开始select AccNo, cpno
from table
group by AccNo, cpno
having count(distinct Echeckid, EDescription) > 1
更新:
如果您的访问版本不支持多列上的不同,您可以将它们连接起来count(distinct CONCAT(Echeckid, EDescription))
或使用min <> max
作为@GordonLinoff建议
答案 1 :(得分: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;