该方法是通用方法,适用于Oracle、MySQL、Hive,其他数据库不清楚
测试环境:Oracle
数据准备sql代码
select '123' meter_id,'2022-05-05' data_date,'1' phase_flag,'55' cur_val1,'66' cur_val2,'77' cur_val3 from dual
数据格式
列转行sql代码
SELECT
meter_id,
data_date,
phase_flag,
cur_val1 cur_val
FROM
( SELECT '123' meter_id, '2022-05-05' data_date, '1' phase_flag, '55' cur_val1, '66' cur_val2, '77' cur_val3 FROM dual )
UNION ALL
SELECT
meter_id,
data_date,
phase_flag,
cur_val2 cur_val
FROM
( SELECT '123' meter_id, '2022-05-05' data_date, '1' phase_flag, '55' cur_val1, '66' cur_val2, '77' cur_val3 FROM dual )
UNION ALL
SELECT
meter_id,
data_date,
phase_flag,
cur_val3 cur_val
FROM
( SELECT '123' meter_id, '2022-05-05' data_date, '1' phase_flag, '55' cur_val1, '66' cur_val2, '77' cur_val3 FROM dual )
列转行后数据格式