sql 问题: sql如何将列转行?

图片说明

sql如何列转行?

问题描述:

需要将INDICATE_DESC 这列 里的数据(6个指标) 做成表,

表中的字段即为 这6个指标;

然后把6个指标 所对应的 AMOUNT,ROOMS的 值
取到你创建好的表中(为空的不用管)

谢过大神!

group 分组然后sum(case when )不过这是枚举的办法

select *
from table_test
pivot(sum(nvl(amount,rooms)) for indicate_desc in ('SMC表总房间数','可出租房间数','免费房间数','其他收入','客房收入','餐饮收入'))
图片说明