如何将多行数据合并成一行多列,并将结果生成视图
例如:
1长春 1.标准全球通 234
1长春 2.全球通资费套餐 5423
1长春 3.全球通优惠 454
2吉林 1.标准全球通 297
2吉林 2.全球通资费套餐 12
2吉林 3.全球通优惠 29949
要生成的报表要是这样的:
地区 1.标准全球通 2.全球通资费套餐 3.全球通优惠
长春 234 5423 454
吉林 297 12 29949
根据以前的大人们的回复,我找到如下答案:
--建立测试环境
Create Table 表(区域 varchar(100),类型 varchar(100),价格 varchar(100))
--插入数据
insert into 表
select '1长春','1.标准全球通','234' union
select '1长春','2.全球通资费套餐','5423' union
select '1长春','3.全球通优惠','454' union
select '2吉林','1.标准全球通','297' union
select '2吉林','2.全球通资费套餐','12' union
select '2吉林','3.全球通优惠','29949'
--测试语句
DECLARE @SQL VARCHAR(8000)
SET @SQL='SELECT 区域'
SELECT @SQL= @SQL+
',min(CASE WHEN 类型 = ''' + 类型 + ''' THEN 价格 END) [' + 类型 + ']'
FROM (SELECT DISTINCT 类型 FROM 表) A
SET @SQL=@SQL+' FROM 表 GROUP BY 区域'
exec (@SQL)
--删除测试环境
Drop Table 表
但是,我现在的问题是,得到的结果集我需要能够生成视图,因为我需要和其它的视图关联生成一个结果集。
请问,怎么将这段代码生成视图呢?
不好意思,我太笨了,临门一脚,就是不知道怎么踢。
1长春 1.标准全球通 234
1长春 2.全球通资费套餐 5423
1长春 3.全球通优惠 454
2吉林 1.标准全球通 297
2吉林 2.全球通资费套餐 12
2吉林 3.全球通优惠 29949
要生成的报表要是这样的:
地区 1.标准全球通 2.全球通资费套餐 3.全球通优惠
长春 234 5423 454
吉林 297 12 29949
根据以前的大人们的回复,我找到如下答案:
--建立测试环境
Create Table 表(区域 varchar(100),类型 varchar(100),价格 varchar(100))
--插入数据
insert into 表
select '1长春','1.标准全球通','234' union
select '1长春','2.全球通资费套餐','5423' union
select '1长春','3.全球通优惠','454' union
select '2吉林','1.标准全球通','297' union
select '2吉林','2.全球通资费套餐','12' union
select '2吉林','3.全球通优惠','29949'
--测试语句
DECLARE @SQL VARCHAR(8000)
SET @SQL='SELECT 区域'
SELECT @SQL= @SQL+
',min(CASE WHEN 类型 = ''' + 类型 + ''' THEN 价格 END) [' + 类型 + ']'
FROM (SELECT DISTINCT 类型 FROM 表) A
SET @SQL=@SQL+' FROM 表 GROUP BY 区域'
exec (@SQL)
--删除测试环境
Drop Table 表
但是,我现在的问题是,得到的结果集我需要能够生成视图,因为我需要和其它的视图关联生成一个结果集。
请问,怎么将这段代码生成视图呢?
不好意思,我太笨了,临门一脚,就是不知道怎么踢。
...全文
相关推荐
Sybase怎么将多行数据分组合并成一行多列
背景 题目比较抽象,具体解释一下。 有这么一张表,里面是多位客户在不同时间的不同状态。例如: 客户 时间 状态 小老鼠 20200428 高兴 小八戒 20200429 开心 小笨喵 20200501 悲伤 小老鼠 20200502 难受 小老鼠 20200503 相思 小八戒 20200504 怀旧 小笨喵 20200505 头大 这里多行数据比较混乱,想将多行数据按照标识分组,再改为一行多列: 客户 状态 小老鼠 20200428:高兴 20200502 难受 20200503:相思 小八戒 20200429:开心 202
GridView从后台获取数据实现多行多列
自定义GridView从后台获取数据实现多行多列的效果,获取TextView文本内容
Android 多行多列CheckBox
最近公司需求做个员工报餐界面用到多个CheckBox 行列
RadioButton实现多行多列单选
RadioButton实现多行多列单选
Oracle多行记录合并
Oracle多行记录合并/连接/聚合字符串的几种方法



