Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вроде тривиально, но не могу вычленить дубликаты записей  [new]
Vadim999
Member [скрыт]

Откуда:
Сообщений: 107
Для простоты скажем есть такая табличка
CREATE TABLE #pairs (
  ID INT IDENTITY PRIMARY KEY,
  A int,
  B INT,
  DUBLICATE BIT
)


Если в ней будут пары записей с A=B или B=A, то хочу одну из них пометить как дубликат. Пол ночи уже сижу, не могу придумать способа без курсора/цикла.

То есть хочу получить такие данные:
     A    B    DUBLICATE
1   10   20    0
2   20   10    1
3   1    2     0
4   3    4     0
5   4    3     1
6   1    5     0


Подскажите пожалуйста, знатоки!
28 окт 14, 02:12    [16765794]     Ответить | Цитировать Сообщить модератору
 Re: Вроде тривиально, но не могу вычленить дубликаты записей  [new]
Vadim999
Member [скрыт]

Откуда:
Сообщений: 107
Ой, а куда пропала кнопка редактирования поста? :)

Я ошибся чутка в условии: A=B и B=A конечно же.
Также заведомо известно, что дубликатов у каждой пары не может быть больше одного.
28 окт 14, 02:15    [16765796]     Ответить | Цитировать Сообщить модератору
 Re: Вроде тривиально, но не могу вычленить дубликаты записей  [new]
aleks2
Guest
На
https://www.sql.ru/forum/1123160/unikalnost-po-dvum-stolbcam
28 окт 14, 04:57    [16765827]     Ответить | Цитировать Сообщить модератору
 Re: Вроде тривиально, но не могу вычленить дубликаты записей  [new]
angel_zar
Member

Откуда: Барнаул
Сообщений: 902
select *
from #pairs p
where exists
(select * from #pairs p1 where p.a=p1.b and p.b=p1.a and p1.id>p.id)
28 окт 14, 05:01    [16765829]     Ответить | Цитировать Сообщить модератору
 Re: Вроде тривиально, но не могу вычленить дубликаты записей  [new]
Vadim999
Member [скрыт]

Откуда:
Сообщений: 107
angel_zar, ох спасибо, добрый человек!
28 окт 14, 09:42    [16766227]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить