powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать замену данных в поле?
7 сообщений из 7, страница 1 из 1
Как сделать замену данных в поле?
    #36102302
silokhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы:1) "Region_name", "Street_type", "Street_name", "Street_id"
2-ая с такими же полями. Проблема в том, что во второй таблице улицы("Street_name") не все совпадают с полем в 1-ой таблице. Нужно заменить строки поля "S_id" 2-ой таблицы на строки "S_id" 1-вой, с условием совпадения строк в полях "Region_name", "Street_type", "Street_name".
Премного буду благодарен.
...
Рейтинг: 0 / 0
Как сделать замену данных в поле?
    #36102356
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Create Cursor t1 ( Region_name v( 10 ), Street_type v( 10 ), Street_name v( 10 ), Street_id i)
Insert into t1 values( "Мск обл", "Ул", "Ленина",  1 )

Create Cursor t2 ( Region_name v( 10 ), Street_type v( 10 ), Street_name v( 10 ), Street_id i)
Insert into t2 values( "Мск обл", "Ул", "Виноградная",  1 )
Insert into t2 values( "ЦЦЦ обл", "Ул", "Абрикосовая",  2 )
Insert into t2 values( "Мск обл", "Ул", "Ленина",  3 )


Update t2 set Street_id=t1.Street_id ;
	from t1,t2 ;
	where   t1.Region_name=t2.Region_name ;
	    and t1.Street_type=t2.Street_type ;
	    and t1.Street_name=t2.Street_name 
	    
Select * from t2	    

но есть вопросы:
автор"S_id" кто такой?

авторулицы("Street_name") не все совпадают
как это может тогда соответствовать желанию
авторс условием совпадения строк в полях "Region_name", "Street_type", "Street_name" ?
...
Рейтинг: 0 / 0
Как сделать замену данных в поле?
    #36102357
silokhin,
Ну, например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select table1
scan
select table2
replace table2.Street_id with table1.Street_id ;
for table2.Region_name = table1.region_name ;
     and table2.street_type = table1.streen_type ;
     and table2.street_name = table1.street_name
select table1
endscan
...
Рейтинг: 0 / 0
Как сделать замену данных в поле?
    #36102376
silokhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошелмимо,

Дело в том, что во 2-ой таблице названия некоторых улиц с ошибками. И мне нужно добавить айди улицы из 1-ой таблицы во вторую при условии полного совпадения в строках R_name, S_type, S_name. А там, где не совпали имена улиц(из-за граматичейких ошибок) заменить S_id вручную(в новом окне)
...
Рейтинг: 0 / 0
Как сделать замену данных в поле?
    #36102680
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДело в том

чем Вам еще помочь?
пример апдейта и реплейса перебором показали.
пробуйте выполнять, произойдет замена по полному совпадению.
...
Рейтинг: 0 / 0
Как сделать замену данных в поле?
    #36102901
silokhin,
Есть такой алгоритм SOUNDEX (погуглите). Он позволяет уменьшить зависимость от ошибок ввода (буква "а" заменена на "о", "б" на "п" и т.д.) при сравнении слова с образцом. К сожалению, в явном виде (в виде функции) он реализован только для английского языка. Для русского языка - надо адаптировать алгоритм самому.
...
Рейтинг: 0 / 0
Как сделать замену данных в поле?
    #36103153
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще погуглите на "Алгоритм Левенштейна".
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать замену данных в поле?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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