2016-11-28 3 views
0

Допустим, у меня есть следующие таблицы в SQL Server (tbl1):Выбрать все записи из таблицы в 3 колонки, где есть дублирование в 2-х отдельных столбцов

Num  Zip  Rating 
1  75235 100 
2  77234 50 
3  77234 100 
4  77234 100 
5  77234 100 
6  75235 75 
7  76076 25 
8  76076 25 
9  76076 50 
10  75234 25 
11  75234 50 
12  75234 50 

Я хочу, чтобы выбрать все строки, где В столбцах Zip и Rating используются дубликаты. В этом случае это будут строки 3, 4, 5, 7, 8, 11 и 12. Как мне это сделать?

ответ

0

Найти все строки, которые имеют по крайней мере один точный дубликат со всеми равными значениями, для Num столбца, который должен быть различным, за исключением:

SELECT * 
FROM tbl1 T1 
WHERE EXISTS (
    SELECT 1 
    FROM tbl1 T2 
    WHERE T2.Zip = T1.Zip 
    AND T2.Rating = T1.Rating 
    AND T2.Num <> T1.Num 
) 
0
SELECT * 
FROM tbl1 t1 
WHERE (
    SELECT COUNT (*) 
    FROM tbl1 t2 
    WHERE t2.Zip = t1.Zip AND t2.Rating = t1.Rating 
) > 1 

 Смежные вопросы

  • Нет связанных вопросов^_^