将多个列拆分为多个文件行

时间:2014-11-27 16:35:34

标签: sql ssis

我有一个要求,我有25列,我必须从数据库生成一个文件,第一行包含最多12列,其余列应出现在下一行。

在数据库中,结构就像这样

PrimaryKeyCol,Col1,col2,col3....col24

现在我必须以下面的方式从该表生成文件

Primarykeycol,Col1,col2....col12
PrimaryKeycol,Col13,col14...col24

提前致谢。

1 个答案:

答案 0 :(得分:0)

不知道,但如果您将25列集写入具有id标识列的表中,则应该能够执行以下SQL Server T-SQL代码以您希望的格式呈现它:

SELECT PrimaryKeyCol, Col1, Col2, ..., Col13
FROM (
   SELECT id, Primarykeycol, Col1, Col2, ..., Col12, NULL as Col13
   UNION ALL
   SELECT id, Primarykeycol, Col13 as Col1, Col14 as Col2, ..., Col25 as Col13) a
ORDER BY PrimaryKeyCol, id