У меня возникли проблемы с попыткой выяснить, что я думаю, должно быть довольно основным стержнем. Я пробовал искать здесь и в других местах что-то вроде «простого примера поворота», но я обнаружил, что большинство примеров недостаточно просты для моего мозга пещерного человека.(Простой?) Пример сводной таблицы
У меня есть 2 INT
Столбцы в таблице, скажем col1
и col2
. Значения для col1
: 2
- 10
. Значения для col2
: 1
- 5
.
Мой желаемый результат заключается в следующем:
col2_1 col2_2 col2_3 col2_4 col2_5
col1_2 10 5 2 6 7
col1_3 8 6 3 22 12
...
col1_10 20 2 0 3 90
Там, где каждое значение представляет собой число вхождений (count
) из col1_2 x col2_1
, col1_3 x col2_1
, и так далее.
Я попытался это:
SELECT
col1_2,
col1_3,
col1_4,
col1_5,
col1_6,
col1_7,
col1_8,
col1_9,
col1_10'
FROM
(
SELECT
col1,
col2
FROM
data_table
) AS tSource
PIVOT
(
COUNT(col2)
FOR col1 IN (2, 3, 4, 5, 6, 7, 8, 9, 10)
) AS tPivoted
, но это не правильно.
Заранее за вашу помощь.
Спасибо, Стив. Это похоже на то, что близко, но не совсем. Это дает мне столбцы с именем 'col1_2',' col1_3' и т. Д., И значения являются значениями для всех значений 'col2'. Я пытаюсь получить 'col1_2 x col2_1',' col1_3 x col2_1' и т. Д. Это имеет смысл? – tptcat
Вы пытаетесь умножить результаты поворота? –
Я пытаюсь получить количество раз: 'col1' =' 2' где 'col2' =' 1', 'col1' =' 3' где 'col2' =' 1', ... 'col1' = '10' где' col2' = '5'. Я попытался показать это в моем примере желаемого вывода выше. – tptcat