Microsoft SQL, как построить таблицу из строк - PullRequest
0 голосов
/ 19 марта 2019

У меня есть cte со списком идентификаторов GUID, таких как

с CTE AS ( Выберите GUID ИЗ TableOne ) ВЫБРАТЬ * ИЗ СТЕ

Для каждого GUID у меня есть функция, которая возвращает таблицу в формате

  1. Row1
  2. Стр2
  3. Row3

Как я могу объединить результат в новой таблице cte, как

Guid Row1 Row2 Row3?

Чем

1 Ответ

1 голос
/ 19 марта 2019

Вы можете использовать условное агрегирование - если известно количество столбцов:

WITH CTE AS (
      Select GUID, ROW_NUMBER() OVER (ORDER BY GUID) as seqnum
      FROM TableOne
     )
SELECT MAX(CASE WHEN seqnum = 1 THEN GUID END) as GUID_1,
       MAX(CASE WHEN seqnum = 2 THEN GUID END) as GUID_2,
       MAX(CASE WHEN seqnum = 3 THEN GUID END) as GUID_3       
FROM CTE;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...