Как убрать дупликаты во временной таблице???

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Как убрать дупликаты во временной таблице???

Сообщение agrail »

Имеется временная таблица с водителями temprcons. в ней поля mcname,nrec. Как удалить из нее повторяющихся водителей с одинаковыми mcname и nrec???????????????
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Как убрать дупликаты во временной таблице???

Сообщение RAJAH »

Завести уникальный индекс mcname+mnrec в таблице, чтобы дубликаты даже не возникали.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Как убрать дупликаты во временной таблице???

Сообщение Алексей »

таблицу наполняете сами? делать гетферст по нреку (создайте индекс) и проверяйте. добавляйте только если такой записи не найдено.
agrail
Посетитель
Сообщения: 39
Зарегистрирован: 06 ноя 2012, 10:04

Re: Как убрать дупликаты во временной таблице???

Сообщение agrail »

Спасибо! да сам наполнял
mwoland

Re: Как убрать дупликаты во временной таблице???

Сообщение mwoland »

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

Код: Выделить всё

table struct tt (
  crec: comp
) with index (
  i01 = crec (unique)
);
...
procedure filltable; {
  insert tt (crec)
  select spsopr.cmcusl
  from spsopr
  where ((1 /== spsopr.prmc)) ignore_errors(tsDuplicateKey);
}
в таблице tt будут все упоминающиеся в спецификациях накладных ссылки на матценности без повторения, т.к. индекс таблицы unique и игнорируются ошибки при несоблюдении уникальности ignore_errors(tsDuplicateKey). работает побыстрее, чем куча гетфёстов имхо.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Как убрать дупликаты во временной таблице???

Сообщение Алексей »

а сообщения об ошибках в таблице по индексу не замучают? обычно же гал-ка ругается. или это только на физ таблицы?
Ответить