0

我正在做一个合并三个不同查询的查询。

我的查询看起来像这样......

HEADER ( a query  with only one line of information).    
BODY ( a query with many rows).    
FOOTER ( a query  with only one line of information)

我有三个独立的查询,但我必须将它们合并到一个结果中才能发送到一个 txt 文件。

我不知道该怎么做,因为理论上第一个查询必须是结果的第一行,最后一个查询必须是脚......

一切都必须是连续文本......问题是在结果中添加页眉和页脚......

4

2 回答 2

3

除非您将每一行作为单个值返回,否则您将很难在单个查询中执行此操作。例如:

;WITH header AS
(
  SELECT rn = 1, val = 'col1,col2,col3'
),
query AS
(
  SELECT rn = 2, val = CONVERT(VARCHAR(12), col1)
    + ',' + col2 + ',' + CONVERT(CHAR(10), col3, 112)
  FROM dbo.sometable
),
footer AS
(
  SELECT rn = 3, val = 'footer ----'
)
SELECT val FROM header
UNION ALL
SELECT val FROM query
UNION ALL 
SELECT val FROM footer
ORDER BY rn;
于 2012-06-20T20:15:18.110 回答
-1

这确实帮助我在提取的数据集中添加页眉和页脚。为了在页眉、页脚和提取的数据集中保持相同数量的列,我们使用以下代码添加 n 个额外列: select a, b,'' as ' ' '' as ' ' 可以添加任意数量的所需列以保持一致性,不会影响输出。

于 2017-02-07T20:15:57.843 回答