Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Транспонирование таблицы (или не совсем оно?)  [new]
David_Brazil
Member

Откуда:
Сообщений: 5
Не получилось найти что-то похожее в интернете.
Может кто-то уже сталкивался с похожей задачей? Как получить из таблицы вида 1, таблицу вида 2?

Таб1
[Столбец1] [Столбец2]
001 ; 1
001 ; 2
001 ; 3
001 ; 4
002 ; 1
001 ; 5

Таб2
[Столбец1] [Столбец2] [Столбец3] [Столбец4] [Столбец5] [Столбец6]
001 ; 1 ; 2 ; 3 ; 4 ; 5
002 ; 1 ; Null ; Null ; Null ; Null

К сообщению приложен файл. Размер - 6Kb
17 ноя 17, 11:43    [20962930]     Ответить | Цитировать Сообщить модератору
 Re: Транспонирование таблицы (или не совсем оно?)  [new]
Добрый Э - Эх
Guest
David_Brazil,

pivot. ищи дальше
17 ноя 17, 12:04    [20963056]     Ответить | Цитировать Сообщить модератору
 Re: Транспонирование таблицы (или не совсем оно?)  [new]
David_Brazil
Member

Откуда:
Сообщений: 5
Добрый Э - Эх,

Как развернуть таблицу понятно, примерно так: (поправьте если что)

	        select столбец1, [1],[2],[3],[4],[5]
			from таб1
		PIVOT (max(столбец2) for столбец2 in ([1],[2],[3],[4],[5])
			   ) as pivot


Как обойтись без перечислений столбцов, если строк много и количество уникальных записей в столбце1 и столбце2 первой таблицы со временем меняется?

По сути это
(select distinct столбец2 from таблица1)

Но как результат этого селекта динамически использовать в пивоте?

Надеюсь, ты реально использовал пивот, а не просто слышал об этом краем уха как и я.
17 ноя 17, 14:03    [20963491]     Ответить | Цитировать Сообщить модератору
 Re: Транспонирование таблицы (или не совсем оно?)  [new]
982183
Member

Откуда: VL
Сообщений: 3351
Поищи в архивах. Каждую неделю этот вопрос всплывает.
17 ноя 17, 14:14    [20963554]     Ответить | Цитировать Сообщить модератору
 Re: Транспонирование таблицы (или не совсем оно?)  [new]
David_Brazil
Member

Откуда:
Сообщений: 5
982183,

Нашел где-то на просторах, спасибо.
17 ноя 17, 14:21    [20963579]     Ответить | Цитировать Сообщить модератору
 Re: Транспонирование таблицы (или не совсем оно?)  [new]
982183
Member

Откуда: VL
Сообщений: 3351
Нашел - поделись источником и решением.
Другим пригодится.
18 ноя 17, 04:42    [20965379]     Ответить | Цитировать Сообщить модератору
 Re: Транспонирование таблицы (или не совсем оно?)  [new]
David_Brazil
Member

Откуда:
Сообщений: 5
982183,

Да не вопрос.

http://sqlhints.com/tag/dynamic-pivot-column-names/
20 ноя 17, 13:43    [20969045]     Ответить | Цитировать Сообщить модератору
 Re: Транспонирование таблицы (или не совсем оно?)  [new]
982183
Member

Откуда: VL
Сообщений: 3351
Был еще немного другой способ:

http://www.sqlteam.com/article/dynamic-cross-tabs-pivot-tables
20 ноя 17, 14:55    [20969324]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить