Я работаю над упражнением 16 из sql-ex.ru. Проблема спрашивает следующее:SQL не включая повторяющиеся значения в комбинации из 2 столбцов
Find the pairs of PC models having identical speeds and RAM.
As a result, each resulting pair is shown only once, i.e. (i, j) but not (j, i).
Result set: model with higher number, model with lower number, speed, and RAM.
схема базы данных:
Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)
Я написал следующий запрос:
SELECT A.model, B.model, A.speed, A.ram
FROM PC A
JOIN PC B ON (A.model<>B.model)
WHERE A.speed=B.speed
AND A.ram=B.ram
Но это показывает дубликаты I, J, как J, I , Вот мой результат:
model model speed ram
1121 1233 750 128
1232 1233 500 64
1232 1260 500 32
1233 1121 750 128
1233 1232 500 64
1260 1232 500 32
Как вы можете видеть, значения I, J перевернуты и учитываются как отдельные значения. Есть ли простой способ избавиться от дубликатов? Я отчасти теряю эту роль.
Это имеет смысл. Не думал о симметричных значениях. – Paul