Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
4-54944
Шишкин Илья
2003-02-17 15:56
2003.04.17
Как получить список dll, используемых программой?


14-54838
hatchy
2003-03-31 10:25
2003.04.17
Браузер глючит....


6-54772
Stanislav SM
2003-02-23 00:14
2003.04.17
Передача сообщений по локальной сети


3-54421
Afteam
2003-04-01 10:51
2003.04.17
Есть компоненты для работы с DBase в многопользовательском режиме


9-54387
JB
2002-11-15 09:14
2003.04.17
Спрайты для игр





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский