hive数据库、mysql也行如图。date_month_1这的值会变动 下一期有可能变成01-APR-30-APR-24 在下一期这个也可能其其他月份 不管变成什么月份 我这边要实现将月份标识截取出来作为quantity_month1的列名。这样12个月都有对应的字段。然后再将每一期合并在一起来组成数据。
最终用许多个case when解决了。
啥数据库?
SUBSTR() 截取一下? 把月份截取出来 再case when 什么的转换一下
你这个sql直接语句不好搞,用存储搞,在里面用游标来改变列名。
参考一下mysql的存储过程。。
DELIMITER // CREATE PROCEDURE dynamic_alias() BEGIN SET @sql = CONCAT('SELECT (SELECT column1 FROM your_subquery) AS ', 'your_dynamic_name', 'ROM your_table'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; END// DELIMITER ; CALL dynamic_alias();