Автор Тема: Вопросы по FoxPro  (Прочитано 1825 раз)

0 Пользователей и 1 Гость просматривают эту тему.

totus

  • Гость
#0: 18 Мая 2003, 11:33:01
Прошу помощи.
необходимо -слить базы.
Отсортировать записи и удалить дубликаты записей.
Дано исходные базы 1.dbf, 2.dbf
выходной файл 3.dbf
Базы слил. Отсортировал. А в части удаления дубликатов записей загвоздка :(
Есть ли в FoxPro функция удаления дубликатов?
Короткая.

Fox

  • Гость
#1: 18 Мая 2003, 11:48:10
Один из многих вариантов.
Допустим, Вам необходимо удалить дубликаты по полю KOD:

SELECT * DISTINCT from 3.dbf into table 4.dbf group by KOD

Главное в команде - DISTINCT в сочетании с group by. Дело в том, что если у Вас всего два поля, например в справочнике - KOD и NAME то использование group by будет лишним.
После этого можете переименовать 4.dbf в 3.dbf

Если Вам просто необходимо выбрать дубликаты, то можно воспользоваться простой командой:

select kod, name from a.dbf where kod in (select kod from a.dbf gropup by kod having count(*)> 1)

Удачи!

totus

  • Гость
#2: 18 Мая 2003, 12:08:13
По 4 полям надо :((

Fox

  • Гость
#3: 18 Мая 2003, 12:12:06
Используйте 1 пример а в GROUP BY перечислить эти необходимы поля через запятую. И все... Попробуйте, поэкспериментируйте... Это просто.

totus

  • Гость
#4: 18 Мая 2003, 12:51:03
Работает!!!
 Вот так и завлекают в различные вероисповедания.
Главное что бы ГУРУ рядом был :))) !!!


Fox

  • Гость
#5: 18 Мая 2003, 16:02:25
Это всего лишь синтаксис SQL.
Да, FoxPro это сила, но большинство программистов, пишущих на FoxPro не имеют возможности посещать наш форум... А это печально...

Удачи!

 

kompas