TSQL приводит к определенному количеству столбцов - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь создать запрос, который будет распределять результаты строк по определенному количеству столбцов (например, 4). Смотри скриншот ниже.

enter image description here

1 Ответ

0 голосов
/ 30 июня 2018

Это вопрос презентации, и он должен решаться на уровне приложения. Но если вы настаиваете:

SELECT column1 = MIN(CASE WHEN grp=1 THEN PartNumber+CHAR(13)+SerialNumber END)
      ,column2 = MIN(CASE WHEN grp=2 THEN PartNumber+CHAR(13)+SerialNumber END)
      ,column3 = MIN(CASE WHEN grp=3 THEN PartNumber+CHAR(13)+SerialNumber END)
      ,column4 = MIN(CASE WHEN grp=4 THEN PartNumber+CHAR(13)+SerialNumber END)
FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY rn ORDER BY rn) AS grp
      FROM (SELECT *,(ROW_NUMBER() OVER(ORDER BY 1/0)-1)/4 AS rn FROM tab)s)sub
GROUP BY rn;

Демоверсия DBFiddle

...