在使用 T-SQL 的 SQL Server 中,如何将具有“详细信息标题”、“详细信息”和“页脚”记录的非结构化文件输出到一个具有不同逗号分隔值计数的文件中?
这是文件输出结构的示例:
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
感谢您的帮助!
最佳答案
我将给出一个想法,请执行此操作并更新我,将查询中的数据写入文件,请引用以下链接
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 工具,我会容易得多。
问候
阿舒托什
关于sql - 如何使用 T-SQL 在 SQL Server 中输出非结构化文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18012543/