Как преобразовать значения полей в запятую в SQL-столбцах Azure - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь получить значения полей в виде разделенных запятыми значений в одной ячейке для каждого идентификатора.

Я использую в Azure Databricks (SQL), я знаю, что мы можем добиться этого на традиционном SQL, используядля пути XML .. но не видите эту функцию доступной в Azure Databricks.Есть ли у нас какой-либо другой способ достичь ожидаемых результатов ниже?

Образцы данных, как показано ниже

ID  User      Department
1   User1     Admin
2   User1     Accounts
3   User2     Finance
4   User3     Sales
5   User3     Finance

Я ищу запрос SQL для блоков данных, которые дают мне вывод ниже

ID  User      Department
1   User1     Admin,Accounts
2   User2     Finance
3   User3     Sales, Finance
select distinct t.[user],
  STUFF((SELECT distinct ', ' + t1.department
         from yourtable t1
         where t.[user] = t1.[user]
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,2,'') department
from yourtable t;

Я ищу похожий скрипт, который работает на кирпичах данных ..

1 Ответ

0 голосов
/ 18 мая 2019

Я думаю, что нашел решение ... оно может быть достигнуто с помощью одной из функций искры .. concat_ws (',', collect_set (col_name)) .. спасибо

...