有两个名为table1
和table2
的表格。
我需要根据条件
导出数据Table1
date col2 col3 etc
2015-01-01
2015-03-03
2015-02-27
列需要从412列
导出Table2
date name amount ..... 276
2015-01-01
2015-02-01
2015-02-04
2015-02-02
2015-02-15
2015-02-24
注意:现在我需要从table1
导出匹配日期的Excel表格。
每个Excel工作表应包含与该日期相对应的记录,因为table1
中的每个日期都有> = 1000到1个匹配记录。
Excel工作表名称应为table name_2015-01-01.xlsx
,因此从上表中我必须导出3张Excel工作表。
请在ssis或bcp中提供一个例子。
答案 0 :(得分:0)
首先准备所需的sql查询结果并在批处理文件中进行
@Echo off 设置datekey =%1
bcp" SELECT col1,'""' + ISNULL(col2,'')FROM tbalename WHERE DATE_KEY =%datekey%" queryout path _%datekey%.csv -c -t,-r \ n -S" servername" -U username -P pwd -d databasename
现在我们需要使用tablename_date.csv /.xlsx单独创建excel文件
因为我已生成带有所需日期的exell表
bcp"从表格中选择不同的日期" queryout path \ filename.csv -c -t,-r \ n -S" servername" -U username -P pwd -d databasename
现在我需要在for循环中保留所需的日期并调用单个批处理文件
set bfile =" path \ firstbatchfile.bat" set refile =" path \ 2ndbatchfile.bat" 调用%refile %%% A. FOR / F %% A IN(2ndbatchfileoutput.txt)DO( 调用%bfile %%% A. )
现在我将安排所有主批处理文件。