|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
количество повторений
Добрый день.
Столкнулся с такой проблемой. Есть ListBox (много записей) его надо записать в базу (скорее всего access). Проблема в том что в листбоксе есть повторяющиеся записи и надо что бы в бд не было повторений а в поле count отображалось количество повторов. пример listbox: вася петя саша вася петя в БД: name count вася 2 петя 2 саша 1 Как такое лучше реализовать? а то что-то мозги не хотят думать |
#2
|
||||
|
||||
кружка кофе делает свое дело
немного подумал и сделал так: Код:
for i:=0 to k do begin j:=i+1; while j <= k do begin if listbox2.Items[i]=listbox2.Items[j] then begin listbox2.Items.Delete(j); k:=k-1; end; inc(j); end; end; вроде убирает повторы..а можно как-нибудь это сделать на SQL? |
#3
|
||||
|
||||
SELECT DISTINCT TableName FROM FieldName
|
#4
|
|||
|
|||
Только
SELECT DISTINCT FieldName FROM TableName |
#5
|
||||
|
||||
да. точно. перепутал чуток...
|
#6
|
||||
|
||||
ну это я и так знаю
Теперь вопрос в другом: как записать в базу только уникальные данные? т.е. программа работает так: получает через определенное время время инфу в лист бокс, а потом записывает данные в базу и снова получает новые данные. Проблема в том что данные могут не поменяться(остануться преждними) и в базу запишутся те же значения которые уже были в лист боксе. Как это предотвратить? Проверять каждое значение не очень охота... так как значений будет пару тыс. |