SQL> select * from users;
NAME value ID
-------------------
T1 A 1
T2 B 2
T3 C 3
T4 D 4
-- Implement the combination of values in the value column
SQL> select Replace (sys_connect_by_path (value, '#'), '#') combo
2 from users
3 where level = 2
4 connect by prior value <value and level <= 2;
Combo
--------------------------------------------------------------------------------
AB
AC
Ad
BC
BD
CD
6 rows selected
-- Arrange values in the value column in pairs
SQL> select Replace (sys_connect_by_path (value, '#'), '#') combo
2 from users
3 where level = 2
4 connect by nocycle prior value! = Value and level <= 2;
Combo
--------------------------------------------------------------------------------
AB
AC
Ad
Ba
BC
BD
CA
CB
CD
Da
DB
DC
12 rows selected
The test script is as follows:
Create Table users (name char (2), value char (1), ID number );
Insert into users values ('t1', 'A', 1 );
Insert into users values ('t2', 'B', 2 );
Insert into users values ('t3 ', 'C', 3 );
Insert into users values ('t4 ', 'D', 4 );
Commit;