Страница 1 из 1

Поиск двойников

Добавлено: 27 окт 2011, 14:46
Parabellum_FMJ
Хелп! С галактикой начал работать не так давно. Вроде все потихоньку получалось. Но тут меня озадачили. Нужно достать из базы сотрудников всех двойников. Которые числятся на основном и по совместительству + когда-то были уволены, а сейчас снова устроились. Вобщем, всех кто по картотеке сотрудников по 2 и более раза пробегает. В Persons то я залез, пару таблиц явно с ним связанных тоже посмотрел, но никаких толковых идей, как сделать данную выгрузку не появилось :cry: Небольшой косяк еще в том, что база на первасиве крутится, и добрая половина нужных запросов, работающих в нормальном sql, тут просто не работает =(
Понимаю, что вопрос, конечно, глупый, но может поможете начинающему галактисту? :smile:

Re: Поиск двойников

Добавлено: 27 окт 2011, 15:14
Vitaliy
что-то типа:

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

interface PoiskDv1 Поиск двойников' escclose, Cyan;
  show at (,,80,);
create view
as select *
from
    persons pers
where
((
'С'==pers.ISEMPLOYEE
))
;
HandleEvent
cmInit:
{
var kol_pers: word;
_loop pers
  {
    kol_pers:=0;
    _loop persons where (('с'==persons.ISEMPLOYEE and pers.fio==persons.fio))
      kol_pers:=kol_pers+1;
    if kol_pers>1 LogStrToFile('c:\PoiskDv1.txt', persons.fio)
  }
}
end;
end.
Не проверял, но должно работать.
Выгрузит всех "двойников" в файл c:\PoiskDv1.txt.
Можешь место LogStrToFile поставить заполнение своего прототипа, можешь выгружать в XLS или DBF и т.д.

Re: Поиск двойников

Добавлено: 17 ноя 2011, 14:10
Parabellum_FMJ
Идею понял и спер, но сделал немного по своему. Все отработало =) Спасибо :grin: