0


背景:
我正在处理需要获取交叉表查询报告的 Sql2000 查询。我尝试了几种组合并使用 RollUP 得到了结果。

问题
真正的问题是我必须在只有一列的表中插入记录。
例如:
我的实际记录(RollUP 之后)有 3 列,如下所示:

ID|May|Jun|Total

CS|21 |54 |75
AB|12 |15 |27

(这些结果以网格格式出现)

我需要将它们插入到只有 1 列的表中的问题。格式为

数据

ID 5 月 6 月 总计     
21 54 75
12 15 27

请注意,列标题也插入到第二个表中。
这有意义吗?我知道这可以通过报告服务或水晶报告轻松完成,但我有不去尝试的限制。

提前致谢。

4

1 回答 1

0

听起来您想要做的就是将三列(或四列?)的字符串连接成一列?

我将为您节省通常伴随此类问题的不良练习讲座:

根据您的示例,我假设您想要固定长度的字段,而不是分隔的字段。如果要分隔,请使用 varchar 而不是 char 并在其间放置分隔字符串。最后一列被转换为 varchar 因为您不需要额外的填充。

SELECT CAST([ID] AS char(10)) 
   + CAST(May AS char(10)) 
   + CAST(June AS char(10)) 
   + CAST([Total] AS varchar(10)) AS column1
FROM ...

这将导致

CS        21        54        75
AB        12        15        27
于 2013-07-02T12:50:10.260 回答