Удаление повторяющихся строк на основе значения столбца - PullRequest
0 голосов
/ 03 января 2019

У меня есть запрос ниже, и он работает, но некоторые атрибуты для NRLG_SMAINT не являются Y для того же атрибута ROADLOG / HPMS, и я хотел бы удалить дублирующую строку. Я не против, если какой-либо из атрибутов NRLG_SMAINT не Y, но если это Y, я не хочу, чтобы эта строка отображалась для того же атрибута ROADLOG / HPMS, где есть Y. Запрос ниже:

select t.nrlg_dept_route || t.nrlg_dept_roadbed as roadlog,s.HPMS,t.nrlg_smaint
from TIS.TIS_NEW_ROADLOG t right join HPMS_DATA s
on t.nrlg_dept_route || t.nrlg_dept_roadbed = s.hpms
group by t.nrlg_dept_route || t.nrlg_dept_roadbed,s.HPMS,t.nrlg_smaint
order by 1

Вот пример выходных данных:

                ROADLOG       HPMS      NRLG_SMAINT
          85    C001821N    C001821N    
          86    C001992N    C001992N    
          87    C005201N    C005201N    Y
          88    C005201N    C005201N    --- remove this row
          89    C005202E    C005202E    Y
          90    C005202E    C005202E    --- remove this row
          91    C005203N    C005203N    Y
          92    C005203N    C005203N    --- remove this row
          93    C005205N    C005205N    Y
          94    C005205N    C005205N    
          95    C005207S    C005207S    --- leave this row
          96    C005208N    C005208N    Y
          97    C005208N    C005208N    
          98    C005209N    C005209N    Y
          99    C005209N    C005209N    

1 Ответ

0 голосов
/ 03 января 2019

Я думаю, вы хотите исправить агрегацию:

select t.nrlg_dept_route || t.nrlg_dept_roadbed as roadlog,
       s.HPMS,
       max(t.nrlg_smaint) as nrlg_smaint
from  HPMS_DATA s left join
      TIS.TIS_NEW_ROADLOG t 
      on t.nrlg_dept_route || t.nrlg_dept_roadbed = s.hpms
group by t.nrlg_dept_route || t.nrlg_dept_roadbed, s.HPMS
order by 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...