Неверный идентификатор в снежинке запроса pivot - PullRequest
0 голосов
/ 10 октября 2019

У нас есть данные в следующем формате в качестве вывода;столбцы: дата, имя группы и рейтинг. Пожалуйста, игнорируйте оставшиеся столбцы;

Date         Group_nm        Rate
2019-10-08      A            0.43
2019-10-09      A            0.46
2019-10-08      B             1.5
2019-10-09      B              2

Цель состоит в том, чтобы повернуть его в следующем формате;

Group_nm   2019-10-08   2019-10-09   
  A          0.43          0.46
  B           1.5            2

Вот моя попытка;

SELECT * FROM

(SELECT 
date, group_nm, rate
FROM CTE1
)
AS StudentTable
PIVOT(MAX(rate)
FOR date IN ('2019-10-08','2019-10-09')
) AS StudentPivotTable;

Но я получаю ошибку;«Неверный коэффициент идентификатора». Обратите внимание, что здесь не требуется агрегирование, поскольку сводная точка всегда запрашивает агрегирование, мы просто дали MAX () для полноты картины. Помощь приветствуется.

1 Ответ

3 голосов
/ 10 октября 2019

Попробуйте использовать CTE вместо этого дополнительного выбора. Я использовал CTE для явной загрузки ваших значений, но вы можете запустить этот выбор из CTE1 в реальном CTE:

WITH x as ( SELECT $1::date as date_fld, $2 as group_nm, $3 as rate FROM (VALUES ('2019-10-08','A',0.43),('2019-10-09','A',0.46),('2019-10-08','B',1.5),('2019-10-09','B',2) ) ) SELECT * FROM x PIVOT(max(rate) for date_fld in ('2019-10-08'::date,'2019-10-09'::date)) as p;

Кроме того, примеры документации очень полезны: https://docs.snowflake.net/manuals/sql-reference/constructs/pivot.html

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