Вот косвенное решение.Вы можете изменить структуру вашей таблицы так, чтобы она использовала только один столбец для обоих текущих столбцов.Затем введите какие-то групповые столбцы, чтобы отслеживать отношения между числами из данной записи.То есть:
grp | pos | NUMBER
1 | 1 | 3
1 | 2 | 4
2 | 1 | 7
2 | 2 | 9
Теперь вам нужно только уникальное ограничение для одного столбца NUMBER
.Обратите внимание, что если вы хотите просмотреть ваши данные в том виде, в каком они есть сейчас, простой сводный запрос может обработать это:
SELECT
grp,
MAX(CASE WHEN pos = 1 THEN NUMBER END) AS NUMBER1,
MAX(CASE WHEN pos = 2 THEN NUMBER END) AS NUMBER2
FROM newTable
GROUP BY
grp;