Impala - Как вещи и «для пути XML» работают в Impala SQL - PullRequest
0 голосов
/ 10 октября 2018

Таблица:

+----+------+
| Id | Name |
+----+------+    
| 1  | aaa  |
| 1  | bbb  |
| 1  | ccc  |
| 1  | ddd  |
| 1  | eee  |
+----+------+

Требуемый вывод:

+----+---------------------+
| Id |        abc          |
+----+---------------------+ 
|  1 | aaa,bbb,ccc,ddd,eee |
+----+---------------------+

Запрос:

SELECT ID,  abc = STUFF(
         (SELECT ',' + name 
          FROM temp1 t1
          WHERE t1.id = t2.id
          FOR XML PATH (''))
         , 1, 1, '') from temp1 t2
group by id;

Мы знаем, что это будет работать в SQL Server.Но при работе в Impala он получит ошибку AnalysisException: Syntax error in line 54:undefined: FOR XML PATH('')), 1, 1, '').

Означает ли это, что Imapla не поддерживает FOR XML PATH?Если нет, есть ли другой способ внедрить это в Impala?

1 Ответ

0 голосов
/ 10 октября 2018

используйте функцию group_concat ():

Здесь вы найдете ссылку

select id, group_concat(name,',') from tablename
group by id
...