У меня есть две таблицы -
ТАБЛИЦА T1 с данными ниже -
COL1 COL2
1 A,B,C
ТАБЛИЦА Т2 с данными ниже -
COL3 COL4
A 10
B 20
C 30
D 40
Вывод, который я хочу получить -
COL1 COL3 COL4
1 A 10
1 B 20
1 C 30
T1 и T2 имеют около одной миллиона строк.
Я уже пробовал следующее:
select T1.COL1,T2.COL3,T2.COL4
from T1
inner join T2 on T1.COL2 LIKE '%' || T2.COL3 || '%';
select T1.COL1,T2.COL3,T2.COL4
from T1
inner join T2 on instr(T1.COL2, T2.COL3 )>0;
select T1.COL1,T2.COL3,T2.COL4
from T1
inner join T2 on T1.COL2 LIKE_REGEXPR T2.COL3;
Все три оператора отлично работают с данными TEST. Но при работе с фактическими данными возникает ошибка выделения памяти.
Есть ли способ сделать это лучше?