Литой массив строк с делимером и суммой значений в Афинах - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть таблица, такая как id, стоимость, налог, кроме id, все строки с разделителем (|), теперь я хочу сделать сумму на основе id. Этот тип данных столбца является строкой, а не массивом, поэтому необходимо преобразовать его в массив

id,cost,tax
1,20.20|13.12|2.3,2.0|1.3|0.2
2,30.20|43.12|6.3,3.0|5.3|0.6

Теперь мой ожидаемый результат -

id,cost_sum,tax_sum
1,35.62,3.5
2,79.62,8.9

Я смог бы сделать, если бы там был один массив, но не в состоянии сделать для нескольких массивов

    with dataset as 
(
SELECT id
  ,split(cost, '|')  cost1  FROM table 
  )

SELECT id,
         sum(cast(value as double))

FROM dataset 
CROSS JOIN UNNEST(cost1) AS t(value)
group by id
...