MS Sqlserver(for xml path的巧用):
select 'T1' M, stuff((select ',' + CAST(T1 as varchar) from Table_1 for xml path('')),1,1,'') N
union
select 'T2' M, stuff((select ',' + CAST(T2 as varchar) from Table_2 for xml path('')),1,1,'') N
Oracle(自带这样的函数):
select wm_concat(T1) N from Table_1;--10g写法
select listagg(T1,',') within group (order by T1) N from Table_1;--11g写法
我猜测你的表1和表2的数据量应该不大,这样的话可以把2个表的数据导出到EXCEL,然后再EXCEL中合并整理数据,最后再导回到表3中。这是最快最简单的方法了。
否则只能用SQL的存储过程了,如果需要的话,我可以提供给你。
select distinct ‘T1’ M, stuff((select ','+cast(b.t1 as varchar) from TABLE_1 b where 1=1 for xml path('')),1,1,'') N
from TABLE_1 a
union all
select distinct ‘T2’ M, stuff((select ','+cast(b.t2 as varchar) from TABLE_2 b where 1=1 for xml path('')),1,1,'') N
from TABLE_2 a
水电费水电费