Другой запрос сводной таблицы - PullRequest
1 голос
/ 05 мая 2011

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

Таким образом, таблица может выглядеть так:

time  show
12PM  smallville
1PM   House
2PM   walking dead

Я знаю, как получить три предмета в зависимости от времени, но мне нужен ответ, чтобы он выглядел так:

col1        col2        col3
smallvile   House    walking dead

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

Ответы [ 3 ]

1 голос
/ 05 мая 2011

Если этот вопрос относится к серверу SLQ, а не к Excel, то вам нужно что-то вроде следующего:

Select [12PM],[1PM],[2PM],...
from (
 select time, show from tablename
) as sourcetable
PIVOT (
 Max(Show) for Time in [12PM],[1PM],[2PM],...
) as PivotTable

См. MSDN для получения дополнительной ссылки на Сводные таблицы.

0 голосов
/ 23 сентября 2015

Просто введите идентификатор для управления сводкой, ниже приведен пример кода. Надеюсь, это поможет.

    CREATE TABLE #Temp (ID INT IDENTITY NOT NULL, [Time] VARCHAR(20), Show VARCHAR(100))

    INSERT INTO #Temp ( [Time] , Show ) 
    SELECT '12PM', 'smallville' UNION SELECT '1PM', 'House' UNION SELECT '2PM', 'walking dead'

    SELECT [1], [2], [3]
        FROM ( 
    SELECT Show, ID FROM #Temp
    ) As src
    PIVOT
        (Max(Show) FOR ID IN ([1], [2], [3])) AS pvt

enter image description here

0 голосов
/ 04 апреля 2012

Использование динамических сводных таблиц mysql (преобразование строк в столбцы).

...