使用不同的不工作sql消除重复的行

时间:2017-05-16 16:15:34

标签: sql oracle duplicates distinct

我有一个查询,它给了我重复的记录。但是我尝试使用distint,但它没有消除重复的行。

以下是我正在讨论的查询和结果

SELECT 
    f182.ba_id intBc, 
    bo_name.index_name nvrC 
from f182 inner join bo_name ON 
    bo_name.ba_id = f182.ba_id 
    AND bo_name.name_type_code = '0001'
    AND bo_name.indx_name_e_dte IS   NULL 
    and f182.ba_id =114246

即使在开始时使用distinct,它也会给出重复行的相同结果,因为bo_name上有2个重复记录匹配ba_id

包含列及其值的表

 f182(ba_type_code,ba_id) 
   values
  (0001,114246)

其他表格数据如下:

bo_name  ( BA_TYPE_CODE,BA_ID,NAME_TYPE_CODE,indx_name_e_dte,index_name,date)
        values 
        (0001,114246,0001,NULL,abc,11/1/2010)
        (0001,114246,0001,NULL,abc,11/2/2016)

我尝试使用distinct,但它仍然提供相同的重复行。

1 个答案:

答案 0 :(得分:0)

SELECT  DISTINCT f182.ba_id intBc,bo_name.index_name nvrC from f182 
inner join bo_name 
                  ON bo_name.ba_id = f182.ba_id     
                  AND bo_name.name_type_code = '0001'
                  AND bo_name.indx_name IS   NULL and  f182.ba_id =114246

试试这个