powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как найти двойные записи?
14 сообщений из 14, страница 1 из 1
Как найти двойные записи?
    #36598979
Boston60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеются записи о пациентах - имя, фамилия и т.п. Известно, что имеется некоторое количество двойников, т.к. запрос
select name, count(*) as Qty from Table group by 1
возвращает непустой курсор

Как должен выглядеть SQL statement (если это вообще возможно), чтобы получить в результате список двойников из таблицы? В таблице есть поле с уникальным ID и для каждой записи (пациента) это поле содержит уникальный ключ. Хотелось бы результат вида:
Ключ, Имя, Адрес...
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599000
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
select name, count(*) as Qty from Table group by  1  having count(*) >  1  into cursor dual_name nofilter readwrite
select * from Table inner join dual_name on Table.name = dual_name.name
Ы?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599001
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поиск:

having count(*) > .....
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599053
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SELECT * FROM table a WHERE  1  < (SELECT COUNT(*) FROM table b WHERE a.name=b.name)
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599134
Boston60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
Спасибо. Но скрипт использовать не могу... База не позволяет, а Админа получить не удается...
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599139
Boston60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zchvv,

А это работает?????
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599147
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Boston60,

наверное, очень медленно будет. используйте хэвинг.
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599185
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, медленно-ведь для каждой строки выполняется подзапрос. Но если нужны Ключ, Имя, Адрес,...,ПоследнееПоле, то можно и подождать. Насчет работает или нет сказать могу определенно только следующее: только что запускал в VBA - несколько сек на 2000 строках. А в VFP не пробовал...
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599203
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил и в VFP - здесь намного быстрее: при том же объем меньше 0.5 с
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36599296
Boston60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zchvv,

Спасибо большое, сейчас погоню...
Там база в несколько тысяч, клиент уже икру мечет
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36600045
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Boston60
> Игорь Горбонос,
> Спасибо. Но скрипт использовать не могу... База не позволяет, а Админа получить не удается...

Ничего не понял, тебе запрос нужен для VFP или для MSSQL?
То что я привел это для VFP. И мне непонятно как может база не позволять ? Если у тебя есть возможность выполнять
на этой базе селекты. Или у тебя нет VFP?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36601469
Boston60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
Если бы всё это было в Фоксе, то и вопроса бы не было. Прога на Фоксе обращается к "чужой" базе (Advantage, если интересно). Более того, база принадлежит другому приложению и позволяет только доставать/класть дату с определёнными ограничениями - нельзя создать скрипт или встроенную процедуру, например. Большое спасибо за подсказку!
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36601491
Boston60
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zchvv,
Громадное спасибо! Работает очень быстро - 10К записей меньше чем за 2 сек.! И это через ADO!!
Ещё раз спасибо!
...
Рейтинг: 0 / 0
Как найти двойные записи?
    #36601828
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Boston60
> Прога на Фоксе обращается к "чужой" базе (Advantage, если интересно).

Замечательно, т.е. обычный селект из нужной таблицы сделать можно :)

> Более того, база принадлежит другому приложению и позволяет только
> доставать/класть дату с определёнными ограничениями - нельзя создать
> скрипт или встроенную процедуру, например.

Так это и не нужно. Если установлен фокс, в нем создается prg, в который
пишется код для подключения к базе, строка подключения у тебя есть, как я
понял :) потом дописываешь предложенные мной строки и завершаешь это все
дисконнектом от базы. Просле выполнения этого прж получаешь курсор, в
котором будет интересующая тебя информация.

Но сделал, так сделал. :)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как найти двойные записи?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]