2015-12-30 5 views
1

У меня есть серия таблиц переписей, с которыми я выполняю запросы. Часто результаты содержат дублируемую информацию, хотя не все дубликаты дублируются. Вот некоторые примерные данные от одного из выходов запроса:Удаление дубликатов из запроса Результат

enter image description here

Field8, как я знаю, где мой дубликат информации. Несмотря на то, что все поля не совпадают, если Field8 дублируется, мне нужна только одна из записей. Проблема в том, что запись, в которой я нуждаюсь, не всегда согласована. Если записи дублируются, как и в первых двух записях, мне нужна только запись, где Field1 = 162. Однако, когда нет дубликатов, как в последних трех записях, мне нужны все три из этих записей независимо от того, что Field1 =. Поэтому, когда я могу получить этот запрос, чтобы работать правильно, то результат будет таким:

enter image description here

Может кто-то помочь мне написать запрос, чтобы выполнить это?

+0

Можете ли вы уточнить, на каком дубликате тянуть? в вашем объяснении _where Field1 = 162_, это всегда так, когда есть дубликат? – WhiteHat

+0

Да, в любое время, когда в Field8 есть дубликат, запись, которую мне нужно вытащить, всегда будет где Field1 = 162. – gacto

ответ

0

будет что-то вроде этой работы?

select b.Field1,b.Field2,b.Field3,b.Field4,b.Field5,b.Field6,b.Field7,b.Field8 from 
(select Field8,max(Field1) as Field1 from census_table group by Field8) a, 
census_table b 
where b.Field8 = a.Field8 
and b.Field1 = a.Field1 
+0

жаль, что мне так долго приходилось возвращаться к этому. Я тестирую результаты сейчас и опубликую обновление в ближайшее время. но пока, похоже, это может сработать. – gacto

+0

WhiteHat - это сработало отлично. спасибо за быстрый ответ и спасибо за помощь. – gacto

+0

ура! рад помочь... – WhiteHat

Смежные вопросы