Если невозможно, что Row_ID имеет действие «Разрешить как действие» более одного раза, следующий запрос должен работать:
INSERT INTO temp_Log
(SELECT distinct RowID,Action
FROM DQLog
Where Action = 'reject'
UNION ALL
SELECT distinct RowID,Action
FROM DQLog
Where Action = 'fix'
And RowID not in (Select distinct RowID from DQLog where Action='reject')
)
;
РЕДАКТИРОВАТЬ:
Я упомянул 2 варианта в своем комментарии. Вот так оно и есть:
Вариант 2 : :
Преобразуйте столбцы Action в нижние регистровые значения.
Fix
Вышеприведенный запрос преобразует все значения Action
в нижнем регистре. Теперь вы можете запустить следующий запрос, и это сделано:
Reject
Следовательно, ваша задача выполнена, и ваши избыточные данные также исправлены.
INSERT INTO temp_Log
(SELECT distinct RowID,Action
FROM DQLog
Where Action = 'Reject' or Action='reject'
UNION ALL
SELECT distinct RowID,Action
FROM DQLog
Where Action = 'Fix' or Action = 'fix'
And RowID not in (Select distinct RowID from DQLog where Action='Reject'or Action='reject')
)
;
Просто добавьте все возможные варианты Fix
и Reject
в где предложение моего основного запроса выглядит следующим образом:
Option 1
Я советую вам пойти Option 1
!
Надеюсь, поможет!