powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск дублей по сравнению с временной таблицей
7 сообщений из 7, страница 1 из 1
Поиск дублей по сравнению с временной таблицей
    #39789495
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Подскажите, пожалуйста, в решении такой задачи:
Есть запрос, который ищет адреса с дублирующими координатами:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with double_coo_id as
( select id from public.house_coordinates,
(select count(hc.id) cnt, hc.latitude lat, hc.longitude long
 from public.house_coordinates hc
group by hc.latitude, hc.longitude
having count(hc.id) > 3) doubles_coo
 where 1=1
 and latitude = doubles_coo.lat and longitude = doubles_coo.long
)     

select eah.orponid, eah.adr_adm_ter, dci.*
from public.ent_as_house eah, double_coo_id dci
where 1=1
and livestatus = 1
and parent_id is not null
and coordinates_id = dci.id
;


И есть временная таблица:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TABLE #tmpCities
(Nomer INT,
City_name VARCHAR(50),
Count_people int);

INSERT INTO #tmpCities
VALUES (1, 'Москва г', 12506),
(2, 'Санкт-Петербург г', 5352),
(3, 'Новосибирск г', 1613),
(4, 'Екатеринбург г', 1469),
(5, 'Нижний Новгород г', 1259),
(6, 'Казань г', 1244);



Подскажите, пожалуйста, как в первый запрос добавить условие выбора только тех адресов, которые содержат в поле eah.adr_adm_ter значение tmpCities.City_name, то есть условие eah.adr_adm_ter like ’% tmpCities.City_name %’ и отсортировать полученные записи по полю tmpCities.Nomer
...
Рейтинг: 0 / 0
Поиск дублей по сравнению с временной таблицей
    #39789514
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
with double_coo_id as( 
	select 
		c.id 
	from 
		public.house_coordinates c,
		(select count(hc.id) cnt, hc.latitude lat, hc.longitude long from public.house_coordinates hc group by hc.latitude, hc.longitude having count(hc.id) > 3) doubles_coo
	where 
		1=1
		and c.latitude = doubles_coo.lat 
		and c.longitude = doubles_coo.long
) 
select 
	eah.orponid
	, eah.adr_adm_ter
	, dci.*
from 
	public.ent_as_house eah
	, double_coo_id dci
	, #tmpCities tc 
where 
	1=1
	and eah.livestatus = 1
	and eah.parent_id is not null
	and eah.coordinates_id = dci.id
	and eah.adr_adm_ter like '%' + tc.City_name + '%'
order by
	ct.Nomer 
;



ЗЫЖ
1.не забывайте алиасы
2. может лучше заменить запятые на inner join ?
...
Рейтинг: 0 / 0
Поиск дублей по сравнению с временной таблицей
    #39789524
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
Спасибо за помощь. Можете подсказать как "+" заменить в postgresql? Выдаётся ошибка operator does not exist
...
Рейтинг: 0 / 0
Поиск дублей по сравнению с временной таблицей
    #39789526
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*,
Вы ошиблись форумом.
...
Рейтинг: 0 / 0
Поиск дублей по сравнению с временной таблицей
    #39789530
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*HandKot,
Спасибо за помощь. Можете подсказать как "+" заменить в postgresql? Выдаётся ошибка operator does not exist
если вы про оператор строковой конкатенации, то в PG для этого используется такая конструкция: ||
...
Рейтинг: 0 / 0
Поиск дублей по сравнению с временной таблицей
    #39789533
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*,

ну или используйте АНСи-ориентированный CONCAT:
Код: plsql
1.
Select CONCAT ('п','р','и','м','е','р')
...
Рейтинг: 0 / 0
Поиск дублей по сравнению с временной таблицей
    #39791966
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Спасибо, про конструкцию || забыла. Все получилось.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поиск дублей по сравнению с временной таблицей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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