Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление дублирующихся записей 
V
    Опции темы
CyberDemon
Дата 14.3.2008, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 11.10.2003
Где: Нижний Новгород

Репутация: нет
Всего: нет



Возникла проблема. Есть таблица с несколькими полями. Для примера возьмем два. Назавем их gest_ID и ordr_ID. Остальные поля нам не важны, просто скажем, что в них какие-то разные значения. Получается таблица:

Код

gets_ID    ordr_ID
-----------------------
111            1
111            2
111            3
222            1
222            2
333            1
333            2
333            3
333            4


Нам надо выбрать из таблицы (или перекинуть во временную) только одну строку, для каждого оригинального gest_ID. Тоесть во временной таблице все значения gest_ID должны быть оригинальны. Желательно, чтоб из строк с одинаковым gest_ID выбиралась последняя по списку строка (тоесть с максимальны ordr_ID), но если это не возможно, то фиг с ним. Я тут думал, что может можно это как-то удалением или перебросом во временные таблицы сделать, но пока ничего не вышло. Help!
PM MAIL ICQ   Вверх
ТоляМБА
Дата 14.3.2008, 14:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: нет
Всего: 252



Цитата(CyberDemon @  14.3.2008,  15:46 Найти цитируемый пост)
Нам надо выбрать из таблицы (или перекинуть во временную) только одну строку
О, майн Гот! Эта тема тут обсуждалась ... раз, ну ладно, ты ведь сам уже написал решение:
Цитата(CyberDemon @  14.3.2008,  15:46 Найти цитируемый пост)
Желательно, чтоб из строк с одинаковым gest_ID выбиралась последняя по списку строка (тоесть с максимальны ordr_ID), 


Код
Select gets_ID, Max(ordr_ID)
from Table1
Group By gets_ID

PM   Вверх
CyberDemon
Дата 14.3.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 11.10.2003
Где: Нижний Новгород

Репутация: нет
Всего: нет



Цитата

О, майн Гот! Эта тема тут обсуждалась ... раз, ну ладно, ты ведь сам уже написал решение:


Сортировка, это конечно хорошо и главное работает! В таком виде:
Код

select o_gestID, max(o_stoi) 
from #Table
group by o_gestID


А где тогда ошибка, чтоб было тоже самое но в таком виде:

Код

select o_gestID, o_Discount, o_PriceMenu, o_Price, o_CheckGroup,
o_NumberFiscal, max(o_stoi)
from #Table
group by o_gestID


Как заставить это работать? больше никаких сортировок не требуется. Только то, что описали.

Это сообщение отредактировал(а) CyberDemon - 14.3.2008, 15:35
PM MAIL ICQ   Вверх
CyberDemon
Дата 14.3.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 11.10.2003
Где: Нижний Новгород

Репутация: нет
Всего: нет



Сам разобрался. Спасибо!  smile 
PM MAIL ICQ   Вверх
nz1
Дата 17.3.2008, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



Цитата(ТоляМБА @ 14.3.2008,  14:28)
Код
Select gets_ID, Max(ordr_ID)
from Table1
Group By gets_ID

жалко недастаточно постов, так бы поставил плюсик smile 

так как это как раз, что мне нужно было, спасибо!

но вот интересно, как подсчитать кол-во этой самой gets_ID, тоисть поля повторятся не будут, но будет выводится число повторений с этим ID

как такое сделать?
PM   Вверх
Itsys
Дата 17.3.2008, 17:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 1
Всего: 34



Код

Select gets_ID, Max(ordr_ID), COUNT(*)
from Table1
Group By gets_ID

PM MAIL WWW Skype   Вверх
nz1
Дата 18.3.2008, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 13.1.2008

Репутация: нет
Всего: нет



Цитата(Itsys @ 17.3.2008,  17:31)
Код

Select gets_ID, Max(ordr_ID), COUNT(*)
from Table1
Group By gets_ID

спасибоsmile)
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.1291 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.