У меня немного проблемы с SQL / Hive.
В БД мы получаем вывод нашего XML, как показано ниже. Который включает в себя имя и значение XML-записей.
Значение, которое я запрашиваю, будет выглядеть так:
rollover\5000,another\10000, rollover\1000, BillingTimeStamp\2017-06-15T01:00:05,timereset\2017-05-26T14:32:51
который получен из дерева XML, которое будет выглядеть примерно так:
<property>
<name>rollover</name>
<value>5000</name>
</property>
<property>
<name>another</name>
<value>5000</name>
</property>
<property>
<name>rollover</name>
<value>7000</name>
</property>
...
Итак, мне нужно запросить и сказать:
Если эта строка содержит слово rollover, суммируйте значение. Проблема в том, что термин ролловер может появляться несколько раз с несколькими значениями.
'Строки' разделены, а столбцы \
Таким образом, вывод, если я разделю запятую, будет:
rollover\5000
another\5000
rollover\7000
...
Может кто-нибудь посоветовать, с чего бы мне начать? Я пробовал несколько строковых функций и принимал значение между \ и запятой, но я не знаю, как перебрать строку, чтобы найти все вхождения.
Любая помощь будет потрясающей!
SELECT
CASE
WHEN "rollover" in "rollover\5000,another\5000, rollover\7000, BillingTimeStamp\2017-06-15,timereset\2017-05-26"
THEN