powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Убрать дублирующие записи в строке таблицы
4 сообщений из 4, страница 1 из 1
Убрать дублирующие записи в строке таблицы
    #38734712
HasT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть таблица с данными в столбце:


nameУЛИЦА ТЕЛЬМАНАУЛИЦА ТЕЛЬМАНА1-Я УЛИЦА ЧАПАЕВА1-Я УЛИЦА ЧАПАЕВАСОВХОЗНАЯ УЛИЦА (НОВЫЕ ЛАПСАРЫ)СОВХОЗНАЯ УЛИЦА (НОВЫЕ ЛАПСАРЫ)УСАДСКАЯ УЛИЦАУСАДСКАЯ УЛИЦАУЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИУЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИУЛИЦА ЛЕРМОНТОВАУЛИЦА ЛЕРМОНТОВАУЛИЦА ЛЕБЕДЕВАУЛИЦА ЛЕБЕДЕВАУЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.УЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.МАШИНОСТРОИТЕЛЕЙ ПРОЕЗДМАШИНОСТРОИТЕЛЕЙ ПРОЕЗД

Как удалить дублирующийся текст в каждой строке колонки name?

Таблица:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE TABLE test(name TEXT);

INSERT INTO test(name) VALUES('УЛИЦА ТЕЛЬМАНАУЛИЦА ТЕЛЬМАНА');
INSERT INTO test(name) VALUES('1-Я УЛИЦА ЧАПАЕВА1-Я УЛИЦА ЧАПАЕВА');
INSERT INTO test(name) VALUES('СОВХОЗНАЯ УЛИЦА  (НОВЫЕ ЛАПСАРЫ)СОВХОЗНАЯ УЛИЦА  (НОВЫЕ ЛАПСАРЫ)');
INSERT INTO test(name) VALUES('УСАДСКАЯ УЛИЦАУСАДСКАЯ УЛИЦА');
INSERT INTO test(name) VALUES('УЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИУЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИ');
INSERT INTO test(name) VALUES('УЛИЦА ЛЕРМОНТОВАУЛИЦА ЛЕРМОНТОВА');
INSERT INTO test(name) VALUES('УЛИЦА ЛЕБЕДЕВАУЛИЦА ЛЕБЕДЕВА');
INSERT INTO test(name) VALUES('УЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.УЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.');
INSERT INTO test(name) VALUES('МАШИНОСТРОИТЕЛЕЙ ПРОЕЗДМАШИНОСТРОИТЕЛЕЙ ПРОЕЗД');



Спасибо!
...
Рейтинг: 0 / 0
Убрать дублирующие записи в строке таблицы
    #38734725
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HasT,

попробуйте что-то на тему:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
WITH t (fld) AS (VALUES
('УЛИЦА ТЕЛЬМАНАУЛИЦА ТЕЛЬМАНА')
,('1-Я УЛИЦА ЧАПАЕВА1-Я УЛИЦА ЧАПАЕВА')
,('СОВХОЗНАЯ УЛИЦА  (НОВЫЕ ЛАПСАРЫ)СОВХОЗНАЯ УЛИЦА  (НОВЫЕ ЛАПСАРЫ)')
,('УСАДСКАЯ УЛИЦАУСАДСКАЯ УЛИЦА')
,('УЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИУЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИ')
,('УЛИЦА ЛЕРМОНТОВАУЛИЦА ЛЕРМОНТОВА')
,('УЛИЦА ЛЕБЕДЕВАУЛИЦА ЛЕБЕДЕВА')
,('УЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.УЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.')
,('МАШИНОСТРОИТЕЛЕЙ ПРОЕЗДМАШИНОСТРОИТЕЛЕЙ ПРОЕЗД')
) SELECT 
REGEXP_REPLACE 
(fld
,'(.*)\1'
,'\1'
,'ig')
 FROM t



но оно чревато взбрыками
...
Рейтинг: 0 / 0
Убрать дублирующие записи в строке таблицы
    #38734778
HasT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwqHasT,

попробуйте что-то на тему:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
WITH t (fld) AS (VALUES
('УЛИЦА ТЕЛЬМАНАУЛИЦА ТЕЛЬМАНА')
,('1-Я УЛИЦА ЧАПАЕВА1-Я УЛИЦА ЧАПАЕВА')
,('СОВХОЗНАЯ УЛИЦА  (НОВЫЕ ЛАПСАРЫ)СОВХОЗНАЯ УЛИЦА  (НОВЫЕ ЛАПСАРЫ)')
,('УСАДСКАЯ УЛИЦАУСАДСКАЯ УЛИЦА')
,('УЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИУЛИЦА 139-Й СТРЕЛКОВОЙ ДИВИЗИИ')
,('УЛИЦА ЛЕРМОНТОВАУЛИЦА ЛЕРМОНТОВА')
,('УЛИЦА ЛЕБЕДЕВАУЛИЦА ЛЕБЕДЕВА')
,('УЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.УЛИЦА КОСМОНАВТА НИКОЛАЕВА А.Г.')
,('МАШИНОСТРОИТЕЛЕЙ ПРОЕЗДМАШИНОСТРОИТЕЛЕЙ ПРОЕЗД')
) SELECT 
REGEXP_REPLACE 
(fld
,'(.*)\1'
,'\1'
,'ig')
 FROM t



но оно чревато взбрыками

То, что нужно. Спасибо!
...
Рейтинг: 0 / 0
Убрать дублирующие записи в строке таблицы
    #38746041
caunt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В свое время тоже долго мучался, знаю по себе как тяжело решить - казалось бы тяжелый вопрос, не знаю актуально или нет, думаю смогу помочь. Я сам нашел решение ответа на этом сайте: (не сочтите за спам) http://www.modber.ru/
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Убрать дублирующие записи в строке таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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