为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:windows
【CPU】:
【问题描述】*:关于一个sql问题
SELECT
mnd_year_ || mnd_month_ AS year_month,
mnd_year_ AS year,
mnd_month_ AS month,
mnd_org_id_ AS unit,
mnd_code_ AS mnd_code_,
"mnd_name_" AS indicator_name,
"mnd_value_" AS indicator_value
FROM
master_norm_data
JOIN
master_norm_detail
ON
master_norm_data.id_ = master_norm_detail.mnd_id_
PIVOT
(
SUM(indicator_value)
FOR indicator_name IN
(
'流动比例' AS 流动比例,
'速冻比率' AS 速冻比率,
'资产负债率' AS 资产负债率
)
);
sql中,master_norm_data 和 master_norm_detail 字段不多,主要实现就是想行转列:运行提示: 第 15 行, 第 6 列[PIVOT]附近出现错误:
语法分析出错! 是这样写不对么?
先把内存得结果用子查询包一层,在外层再使用pivot
SELECT
mnd_year_ || mnd_month_ AS year_month,
mnd_year_ AS year,
mnd_month_ AS month,
mnd_org_id_ AS unit,
mnd_code_ AS mnd_code_,
"mnd_name_" AS indicator_name,
"mnd_value_" AS indicator_value from
(select *
FROM
master_norm_data
JOIN
master_norm_detail
ON
master_norm_data.id_ = master_norm_detail.mnd_id_)
PIVOT
(
SUM(indicator_value)
FOR indicator_name IN
(
'流动比例' AS 流动比例,
'速冻比率' AS 速冻比率,
'资产负债率' AS 资产负债率
)
);