Пожалуйста, объясните части PIVOT

Я прочитал много сообщений в блогах. Я прочитал документы. Обычно я довольно хорошо разбираюсь в новых вещах, но, хотя я продолжаю читать, но я просто не понимаю частей PIVOT в SQL Server (2008).

Кто-нибудь, пожалуйста, передайте мне это, красиво и медленно (например, Pivot для чайников)

Если нужен пример, мы можем использовать тот в этом вопросе .

Вот как я попытался изменить этот пример:

SELECT OtherID, Val1, Val2, Val3, Val4, Val5
FROM 
    (SELECT OtherID, Val
    FROM @randomTable) p
PIVOT
(
    max(val)
    FOR Val IN (Val1, Val2, Val3, Val4, Val5)
) AS PivotTable;

Приведенный выше запрос дает мне нули вместо значений в столбцах Val1, Val2 ...

Но, чтобы внести ясность, Я не ищу здесь фиксированный запрос . Мне нужно понять PIVOT, поскольку я хочу развернуть что-то гораздо более сложное, чем этот пример.

В частности, что происходит с агрегатом? Я просто хочу взять все строковые значения, соответствующие заданному идентификатору, и поместить их в одну строку. Я не пытаюсь ничего агрегировать. (Опять же, см. этот вопрос для моего примера.)

14
задан Community 23 May 2017 в 12:33
поделиться