Конкатенация T-SQL вывода GroupBy

У вас есть несколько проблем.

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

Нельзя связывать glibc статически - он всегда будет во время выполнения попытаться загрузить дополнительные библиотеки. Например, сборка на основе процессора. Вот некоторые из ваших первых предупреждений.

Последние ошибки компоновщика выглядят так, как будто они связаны с отсутствующей библиотекой openssl в командной строке.

Но в целом - уменьшите распределение .

1
задан Suraj Kumar 15 January 2019 в 18:21
поделиться

2 ответа

Если вы используете SQL 2017 или SQL Azure, вы можете использовать агрегатную функцию STRING_AGG с GROUP BY

SELECT Ticket, STRING_AGG  (PartNumber)
FROM myTable
GROUP BY Ticket
0
ответ дан Cam Bruce 15 January 2019 в 18:21
поделиться

Вы можете использовать приведенный ниже запрос

Create Table SepvalueTable (Ticket Int, PartNumber char(1))
Insert into SepvalueTable Values (1, 'A'), (1, 'B'),(2, 'C'),(3, 'A'),(3, 'B'),(3, 'C')

SELECT Ticket,
      PartNumber = 
              STUFF ( ( SELECT ' '+InrTab.PartNumber
                  FROM SepvalueTable InrTab
                  WHERE InrTab.Ticket = OutTab.Ticket
                  ORDER BY InrTab.Ticket
                  FOR XML PATH(''),TYPE 
                  ).value('.','VARCHAR(MAX)') 
                 , 1,1,SPACE(0))
FROM SepvalueTable OutTab
GROUP BY OutTab.Ticket;

Вывод такой, как показано ниже

Ticket  PartNumber
------------------
1       A B
2       C
3       A B C

Вы можете найти полную демонстрацию данных в реальном времени Демо здесь

0
ответ дан Suraj Kumar 15 January 2019 в 18:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: