powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос. Комбинации
3 сообщений из 3, страница 1 из 1
Запрос. Комбинации
    #39658974
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица:
idtxt10десять20двадцать30тридцать40сорок
Надо получить (сортировка неважна)
i1u1i2u220двадцать10десять30тридцать10десять20двадцать30тридцать40сорок10десять20двадцать40сорок30тридцать40сорок
Здесь из пары
Код: sql
1.
2.
десять - двадцать
двадцать - десять

Надо оставить десять - двадцать или двадцать - десять (неважно)

Аналогично, из пары
Код: sql
1.
2.
тридцать - десять
десять - тридцать

оставляем или тридцать - десять или десять - тридцать .
Ну и т.д.

Работающий код:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
declare @t table (id int, txt varchar(500))
insert @t values (10, 'десять'), (20,'двадцать'), (30,'тридцать'), (40,'сорок')
select * from @t

;with t as (
  select
  t1.id [i1], t1.txt [u1],
  t2.id [i2], t2.txt [u2],
  case when t1.id > t2.id then t1.id else t2.id end [c1],
  case when t1.id < t2.id then t1.id else t2.id end [c2] 
  from @t t1
  cross join @t t2
  where t1.id <> t2.id
)
select top 1 with ties
*
from t
order by row_number() over(partition by c1, c2 order by (select 0))


Может есть варианты попроще? В реальности данных будет немного...
...
Рейтинг: 0 / 0
Запрос. Комбинации
    #39658983
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLPowerUser,
Код: sql
1.
where t1.id< t2.id
...
Рейтинг: 0 / 0
Запрос. Комбинации
    #39658995
SQLPowerUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посетитель,

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


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