Что является эквивалентом в SQLite для «FOR XML PATH ('')» в SQL SERVER? - PullRequest
0 голосов
/ 06 июня 2019

Что является эквивалентом в SQLite для "FOR XML PATH ('')" в SQL SERVER?

Пример данных приведен ниже

Id   | Value
-----+------
0001 | IN
0001 | ME
0001 | OH
0001 | ON
0002 | AC
0002 | ON
0002 | VI
0002 | ZO
0003 | ME
0003 | OO
0003 | PS
0003 | QA

Требуется получить данные в

Id   | Value
-----+------
0001 | IN,ME,OH,ON
0002 | AC,ON,VI,ZO
0003 | ME,OO,PS,QA

Вариант SQL Server, который работает:

 SELECT [id],RIGHT([VALUE],LEN([VALUE])-1) AS [VALUE] FROM (
    SELECT [id],(SELECT ',' + [VALUE] FROM @TEMP 
                  WHERE  [id] = a.[id] FOR xml path('')
                 ) [VALUE]
    FROM   @TEMP a 
    GROUP  BY  [id]
) X

Меня интересует, как это сделать в SQLite?

1 Ответ

1 голос
/ 06 июня 2019

Насколько я знаю, нет способа получить сортировку значений, которые вы ожидаете получить в своем выводе.Если этот заказ не является обязательным для вас, рассмотрите возможность использования GROUP_CONCAT:

SELECT Id, GROUP_CONCAT(Value) Value
FROM yourTable
GROUP BY Id
ORDER BY Id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...