Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL中展开映射到自己的行?_Sql_Mapping_Expand - Fatal编程技术网

在SQL中展开映射到自己的行?

在SQL中展开映射到自己的行?,sql,mapping,expand,Sql,Mapping,Expand,假设我有下表 mytable Name HourlyValue TC1 {0=1.519, 1=1.175, 2=2.471} TC2 {0=1.200, 1=1.000, 2=1.115} 如何展开HourlyValue,使表格变成这样 mytable Name Hour Value TC1 0 1.519 TC1 1 1.175 TC1 2 2.471 TC2 0 1.200 TC2 1

假设我有下表

mytable
Name   HourlyValue
TC1    {0=1.519, 1=1.175, 2=2.471}
TC2    {0=1.200, 1=1.000, 2=1.115}
如何展开HourlyValue,使表格变成这样

mytable
Name   Hour   Value
TC1    0      1.519
TC1    1      1.175
TC1    2      2.471
TC2    0      1.200
TC2    1      1.000
TC2    2      1.115

通过使用以下方法解决此问题:

SELECT
    Name,
    key AS Hour,
    value AS Value
FROM mytable
CROSS JOIN UNNEST(HourlyValue) AS r(key, value)
看看