В MySQL 8.0 вы можете сначала разбить столбцы на основе значений, разделенных запятыми -
with recursive col1 as (select 1 id, '32,33' as column1
union all
select 2, '34,35'),
rec_col1 as (select id, column1 as remain, substring_index( column1, ',', 1 ) as column1
from col1
union all
select id, substring( remain, char_length( column1 )+2 ),substring_index( substring( remain, char_length( column1 ) +2 ), ',', 1 )
from rec_col1
where char_length( remain ) > char_length( column1 )
РЕЗУЛЬТАТ
id column1
1 32
1 33
2 34
2 35
Аналогично, Второй столбец-
with recursive col2 as (select 1 id, 'A,B' as column2
union all
select 2, 'C,D'),
rec_col2 as (select id, column2 as remain, substring_index( column2, ',', 1 ) as column2
from col2
union all
select id, substring( remain, char_length( column2 )+2 ),substring_index( substring( remain, char_length( column2 ) +2 ), ',', 1 )
from rec_col2
where char_length( remain ) > char_length( column2 ))
select id, column2 from rec_col2
order by id;
РЕЗУЛЬТАТ
id column2
1 A
1 B
2 C
2 D
Разделив оба столбца, Вы можете объединить их на основе идентификатора -
select concat(c2.column2, c1.column1) result_rows
from rec_col1 c1
join rec_col2 c2 on c1.id = c2.id
РЕЗУЛЬТАТ
result_rows
A32
B32
C34
D34
A33
B33
C35
D35
Наконец, вы можете использовать GROUP_CONCAT для их объединения -
select group_concat(c2.column2, c1.column1 order by c2.column2, c1.column1) result
from rec_col1 c1
join rec_col2 c2 on c1.id = c2.id
group by c2.id
РЕЗУЛЬТАТ
result
A32,A33,B32,B33
C34,C35,D34,D35