powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Простой запрос на исключение специфического дубликата
6 сообщений из 6, страница 1 из 1
Простой запрос на исключение специфического дубликата
    #39895792
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Помогите, пожалуйста, с простым запросом.

Есть таблица Cities:
ID Name Country Population2 Город1 1 10003 Город2 1 20004 Город1 2 5005 Город3 2 300

Есть запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT 
       [Name]
      ,[Country]
      ,[Population]
	  , 1 as Code
  FROM [Cities]
  WHERE Country = 1
UNION
 SELECT 
       [Name]
      ,[Country]
      ,[Population]
	  , 2 as Code
	   FROM [Cities]
	   WHERE Country = 2



Запрос сейчас возвращает 4 записи.
Name Country Population CodeГород1 1 1000 1Город1 2 500 2Город2 1 2000 1Город3 2 300 2

Необходимо, изменить запрос, чтобы в результирующей выборке не попадались одинаковые по наименованию города, т.е. в нашем случае должно быть:
Name Country Population CodeГород1 1 1000 1Город2 1 2000 1Город3 2 300 2

Подскажите, пожалуйста, как это сделать?
...
Рейтинг: 0 / 0
Простой запрос на исключение специфического дубликата
    #39895795
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто сделайте группировку по Городу.
Код: sql
1.
2.
3.
4.
5.
6.
select
    Name
  , sum(Population) as Population
from Cities
where Country in (1, 2)
group by Name
...
Рейтинг: 0 / 0
Простой запрос на исключение специфического дубликата
    #39895799
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, Population не надо суммировать. Упрощенно задача в следующем: во второй выборке (UNION) не должны попасть города из первой выборки.
...
Рейтинг: 0 / 0
Простой запрос на исключение специфического дубликата
    #39895801
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexFV
Не, Population не надо суммировать. Упрощенно задача в следующем, во второй выборке (UNION) не должны попасть города из первой выборки.

not exists
...
Рейтинг: 0 / 0
Простой запрос на исключение специфического дубликата
    #39895802
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
with cteData
as (
	select
	    Name
	  , Country
	  , Population
	  , 1 as Code
	from Cities
	where Country = 1
	union all
	select
	    Name
	  , Country
	  , Population
	  , 2 as Code
	from Cities
	where Country = 2
) ,
cteNumbered
as (
	select *, row_number() over ( partition by Name order by Code ) as DupNum
	from cteData
)
select *
from cteNumbered
where DupNum = 1
...
Рейтинг: 0 / 0
Простой запрос на исключение специфического дубликата
    #39895812
alexFV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Затуливетер,
СПАСИБО! То, что нужно!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Простой запрос на исключение специфического дубликата
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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