Есть таблица с такой структурой COL1 | COL2 | COL3 -----+------+----- a | d | t -----+------+----- d | t | a -----+------+----- a | t | d -----+------+----- m | n | l -----+------+----- l | m | n Записи, которые могут быть получены из других записей перестановкой значений в столбцах, должны выводиться только один раз. В данном случае ответ будет такой: COL1 | COL2 | COL3 -----+------+----- a | d | t -----+------+----- l | m | n Необходимо решить задачу при помощи стандартного SQL Подскажите пож-та с чего начать и как организовать алгоритм
Ответ
Решение задачи оказалось намного проще. Может-быть кому-нибудь еще поможет) select distinct least(col1,col2,col3) as col1 ,greatest(col1,col2,col3) as col2 ,case when col1 not in (least(col1,col2,col3) ,greatest(col1,col2,col3)) then col1 when col2 not in (least(col1,col2,col3) ,greatest(col1,col2,col3)) then col2 else col3 end col3 from table1;
Комментариев нет:
Отправить комментарий