Разделите столбец на несколько столбцов в ядре asp.net. - PullRequest
2 голосов
/ 01 октября 2019

Я пытаюсь разделить информацию столбца на несколько столбцов, потому что мне просто нужна информация таблицы, чтобы напечатать ее, но я не хочу иметь пробелов, поэтому больше информации у меня на страницеЧем меньше листов я использую.

Вот что я хочу сделать: enter image description here

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Я не ожидал, что Тим перепостит, и я работал над этим. Это решение для 2 столбцов и столько строк, сколько необходимо.

ПРИМЕЧАНИЕ: целочисленная математика возвращает целые числа, а также обратите внимание, что% - это функция мода в математике

select *
into #temp
from (values('a'),('b'),('c'),('d'),('e'),('f'),('g'),('h')) a(name)

;with cte as 
(
    select rn = row_number() over (order by name)-1
        ,name
    from #temp
)

select rn / 2
    ,max(case when rn % 2 = 0 then name  end) Name1
    ,max(case when rn % 2 = 1 then name  end) Name2
from cte
group by rn / 2
0 голосов
/ 01 октября 2019

Вы можете попробовать обработать это с помощью ROW_NUMBER:

WITH cte AS (
    SELECT Name, ROW_NUMBER() OVER (ORDER BY Name) - 1 AS rn
    FROM yourTable
)

SELECT
    MAX(CASE WHEN rn / 4 = 0 THEN Name END) AS Name1,
    MAX(CASE WHEN rn / 4 = 1 THEN Name END) AS Name2
    -- add more CASE expressions for more columns/data
FROM cte
GROUP BY
    rn % 4
ORDER BY
    rn % 4;

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...