Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

Можно ли обойтись одним запросом ...   Найти похожие ветки 

 
Andrey V.   (2003-04-01 09:04) [0]

В базе :

наименование | Кол.
===================
СТУЛ 10
СТУЛ 1
ДИВАН 12
ДИВАН 2
СТУЛ 4

надо получить(точнее не получить , а
удалить дубликаты , с исправлением поля "Кол.") :

наименование | Кол.
===================
СТУЛ 15
ДИВАН 14

Как бы это покрасивей сделать ?


 
Апач   (2003-04-01 09:08) [1]

Индекс по наименованию делай и в цикле обрабатывай по условию если наимен тек совпадает с наим предыд то удалить запись а количество перебрось вверх


 
Arhelon ©   (2003-04-01 09:11) [2]

select name,sum(kol) from table
group by name
И всё :)
rtfm


 
Жук ©   (2003-04-01 09:16) [3]

Одним запросом не получится. Пишите ХП.


 
Arhelon ©   (2003-04-01 09:19) [4]

2Жук
Сам то понял что сказал????


 
zacho ©   (2003-04-01 09:22) [5]


> Arhelon © (01.04.03 09:19)

Жук прав.
" удалить дубликаты , с исправлением поля "Кол." - одним запросом никак не получится


 
Жук ©   (2003-04-01 09:22) [6]

2 Arhelon
Автору нужно сделать update и delete в одном запросе. А ваш вариант только отбирает данные.


 
Andrey V.   (2003-04-01 10:55) [7]

Если бы была промежуточная таблица, я б наверно туда сначала
кинул данные при помощи запроса предложенного Arhelon"ом,
затем удалил все в исходной таблице и наполнил ее из промежуточной , но ИМХО это не очень ...
Записей много , и в цикле бегать по полям не хотелось бы.
Хочется все поместить в файл sql для IbConsole.


 
Парамонов   (2003-04-01 11:15) [8]

в 3:
update test s set kol = (select sum(kol) from test where name=s.name);

delete from test s where rowid <>(select max(rowid) from test where name=s.name group by name);

commit;


 
Парамонов   (2003-04-01 11:18) [9]

Это для Oracle, для IB rowid поменять на поле - первичный ключ(ID?)



Страницы: 1 вся ветка

Текущий архив: 2003.04.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
3-54513
VadimS
2003-03-31 14:14
2003.04.17
Добаление записей в таблицу MS Access


8-54771
alois
2003-01-02 22:37
2003.04.17
Проигрывание WMA-файлов в случайном порядке


7-54919
Vladimir
2003-02-26 11:05
2003.04.17
как программно узнать серийный номер сетевой карточки?


7-54895
jack128
2003-02-20 14:47
2003.04.17
Как узнать когда данные реально ушли из ком порта ?


3-54488
Совенок
2003-03-27 06:22
2003.04.17
Поля Formatted Memo