如何查找映射到查询SQL中相应列的列的出现次数

时间:2012-11-21 16:32:30

标签: sql oracle

我的查询如下

select custref, tetranumber 
from
    (select * 
     from cdsheader h, custandaddr c 
     where h.custref=c.cwdocid and c.addresstype = 'C' )
where tetranumber = '034096'

目标是第二列应该只有一个对应的第一列

Ex:034096应始终将2600135作为第一列

我想检查除了2600135 034096之外是否有任何值。

(我是一名java开发人员并提出了一个避免1到n或n到n数据映射的解决方案,但是DB(Oracle)中已经存在错误的数据,所以我想检查是否存在错误数据,以便我可以删除数据)

2 个答案:

答案 0 :(得分:0)

re:目标是第二列应该只有一个对应的第一列 您需要执行聚合函数,如MAX或MIN,以确定返回哪一行。

答案 1 :(得分:0)

感谢回复人员,

我已经找到了方法并且在这里......

从中选择custref,count(distinct(tetranumber)) 选择custref,tetranumber from cdsheader h,custandaddr c其中h.custref = c.cwdocid和c.addresstype ='C') 具有计数的custref(distinct(tetranumber))> 1