3

在使用 T-SQL 的 SQL Server 中,如何将具有“detail-header”、“detail”和“footer”记录的非结构化文件输出到具有不同逗号分隔值计数的文件中?

这是文件输出结构的示例:

1|header|value0|date
2|detail|value1|value2|value3|date
3|detail|value1|value2|value3|date
4|detail|value1|value2|value3|date
5|header|value0|date
6|detail|value1|value2|value3|date
7|detail|value1|value2|value3|date
8|header|value0|date
9|detail|value1|value2|value3|date
footer|9

数据示例:

1|H|laptops|2013-01-30
2|D|cpu1|disk1|ram1|2013-01-30
3|D|cpu2|disk2|ram2|2013-01-30
4|D|cpu3|disk3|ram3|2013-01-30
5|H|desktops|2013-01-30
6|D|cpu4|disk4|ram4|2013-01-30
7|D|cpu5|disk5|ram5|2013-01-30
8|H|servers|2013-01-30
9|D|cpu6|disk6|ram6|2013-01-30
footer|9

我很感激任何帮助!

4

1 回答 1

1

我将给出一个想法,请执行此操作并更新我,将查询中的数据写入文件,请参阅下面的链接

http://ask.sqlservercentral.com/questions/7080/export-results-of-a-query-into-a-csvtxt-file.html

编写将给您输出的查询。

看起来像

假设你有 3 张桌子 A,b,c

A have 2 coloums
B have 3 coloums
C have 4 coloums


SELECT {WRITE Your Hedder here} as ROW

UNION

SELECT 1+'|'+2+'|'+3+'|'+4 AS ROW
(SELECT A.1,A.2,Null 3,Null 4 FROM A
UNION
SELECT B.1,B.2,B.3,Null 4 FROM B
UNION
SELECT C.1,C.2,C.3,C.4 FROM C
)

SELECT {WRITE Your Footer here} as ROW

请保持让我知道最新消息,

我想这可以做到,但如果你使用 ETL 工具,我会很容易。

问候

阿舒托什

于 2013-08-02T09:28:38.693 回答