С указанными вами данными ваш запрос невозможен. Данные в строках 5 и 6 не различаются внутри себя.
Предполагая, что ваша таблица называется 'quux', если вы начинаете с чего-то вроде этого:
SELECT a.COL1, a.COL2, a.COL3
FROM quux a, quux b
WHERE a.COL1 = b.COL1 AND a.COL2 = b.COL2 AND a.COL3 <> b.COL3
ORDER BY a.COL1, a.COL2
Вы получите этот ответ:
COL1 COL2 COL3
---------------------
aa 111 blah_x
aa 111 blah_j
Это потому, что строки 5 и 6 имеют одинаковые значения для COL3. Любой запрос, который возвращает обе строки 5 и 6, также возвращает дубликаты ВСЕХ строк в этом наборе данных.
С другой стороны, если у вас есть первичный ключ (ID), вы можете использовать этот запрос вместо:
SELECT a.COL1, a.COL2, a.COL3
FROM quux a, quux b
WHERE a.COL1 = b.COL1 AND a.COL2 = b.COL2 AND a.ID <> b.ID
ORDER BY a.COL1, a.COL2
[Отредактировано для упрощения предложения WHERE]
И вы получите желаемый результат:
COL1 COL2 COL3
---------------------
aa 111 blah_x
aa 111 blah_j
bb 112 blah_d
bb 112 blah_d
Я только что проверил это на SQL Server 2000, но вы должны увидеть те же результаты в любой современной базе данных SQL.
blorgbeard доказал мне неправильно - хорошо для него!