Отфильтруйте записи, которые встречаются в таблице более одного раза

У меня есть таблица, которая содержит следующие данные:

Table t1

A     |   B
12        56
12        56
10        8
10        9
10        11
9         55
9         66

Мне нужно написать программу, которая находит все значения столбцов, которые имеют одинаковое значение столбца A но разные значения в столбце B,

пример

Мой результат должен быть следующим:

A    |    B
10        8
10        9
10        11
9         55
9         66

A то же самое и B отличается для каждого значения A,

2 ответа

Решение
select distinct leftside.*
from t1 leftside 
inner join t1 rightside
where leftside.A = rightside.A
and leftside.B != rightside.B
order by A, B

http://sqlfiddle.com/

Пожалуйста, попробуйте следующий запрос:

SELECT 
    A
    , B 
FROM
(
    SELECT
        A,
        B,
        COUNT(*) AS Total
    FROM 
        t1
    GROUP BY
        A,
        B
) AS Results
WHERE
    Results.Total = 1

Этот запрос будет скрывать любые записи, которые встречаются более одного раза в таблице t1,

Другие вопросы по тегам