如何将所有行中曾经使用过的所有唯一符号从一列插入另一列

How to insert all unique symbols ever used in all rows from one column into another

我正在寻找在 2 table 列的值中使用了哪些唯一符号,我想以 .csv 格式提取它们。

我有一个 table,其中包含很多名称和代码,我希望看到每列曾经使用过的每个唯一字符都在新行上打印一次。

例如数据集是:

    _____________________
   | column 1 | column 2 |
    ---------------------
   | value  1 | value  2 |
    ---------------------

CSV 在 Excel 中打开时如下所示(符号的顺序并不重要):

column 1, column 2
a         a
e         e
l         l
u         u
v         v
1         2

我知道如何从 table 中提取行,但不知道如何解析值以及提取和组织 csv 中的唯一字符。有谁知道解决方案,如果可以用 SQL?

我正在考虑在 SQL 中提取所需的数据集,然后使用不同的语言,将内容填充到字符串变量中,将字符串转换为单个符号的数组,然后在两列中打印出唯一的并将其保存为 .csv 格式。

已通过嵌套 while 循环和 substring() 函数解决。将我感兴趣的列导出到新的 source_table 中以获取顺序 ID,然后我(使用该过程)从 source_table 的列中的每一行中挑选出每个符号,并仅将唯一符号插入到导出 target_table.

drop procedure if exists sample_procedure; 

delimiter #
create procedure sample_procedure()

begin 
declare v_row_count int default 0;
declare v_sym_count int default 0;
declare v_iterate int default 1;
declare v_total int default 0;

set v_total = (select count(id) from source_table);

while v_row_count < v_total do

    set v_row_count = v_row_count + 1;
    set v_sym_count = 0;
    set v_sym_count = (select length(column) from source_table where id = v_row_count);
    set v_iterate = 1; 

    while v_iterate <= v_sym_count do

        insert into target_table (symbol)
            select substring(column, v_iterate, 1) 
            from source_table
            where id = v_row_count
        and not exists (select symbol 
                        from target_table 
                        where symbol in (select substring(column, v_iterate, 1) 
                                         from source_table
                                         where id = v_row_count)
                        );

        set v_iterate = v_iterate + 1;

    end while;
end while;

commit;

end #;

对其他列执行此操作,然后从 target_table 导出符号。