У меня есть таблица, такая как 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