Я использую MySQL - строки в столбцы и этот учебник http://stratosprovatopoulos.com/web-development/mysql/pivot-a-table-in-mysql/#comment-6128, чтобы помочь мне развернуть таблицу, и она работает довольно хорошо.Начиная с этого:
mediaID q_short_name start_time stop_time audio_link
ee CVV Number 208 210 j.mp3
ee Expiration Date 308 310 j.mp3
ff CVV Number 124 127 k.mp3
ff Expiration Date 166 169 k.mp3
Цель заключается в следующем:
mediaID CVVNumStartT CVVNumStopT ExpDateStart_time ExpDateStop_time Aud
ee 208 210 308 310 k.mp3
ff 124 127 166 169 j.mp3
Я получил часть пути с этим кодом:
CREATE VIEW test__extension AS (
SELECT amr_text.*,
CASE WHEN q_short_name = 'CVV Number' THEN amr_text.start_time END AS
CVV_Start_Time,
CASE WHEN q_short_name = 'CVV Number' THEN amr_text.stop_time END AS
CVV_Stop_Time,
CASE WHEN q_short_name = 'Expiration Date' THEN amr_text.start_time END
AS Expiration_Start_Time,
CASE WHEN q_short_name = 'Expiration Date' THEN amr_text.stop_time END
AS Expiration_Stop_Time, FROM amr_text);
CREATE VIEW test_extension_pivot AS (SELECT mediaID,
SUM(CVV_Start_Time) AS CVV_Start_Time,
SUM(CVV_Stop_Time) AS CVV_Stop_Time,
SUM(Expiration_Start_Time) AS Expiration_Start_Time,
SUM(Expiration_Stop_Time) AS Expiration_Stop_Time,
FROM test_extension GROUP BY mediaID);
Это создает столбцыточно так же, как таблица целей.Но теперь значения для всего, кроме идентификаторов медиа, отображаются как NULL.Мои вопросы: почему их заменили на NULL, и что я могу использовать вместо SUM для отображения значений Expiration и CVV Start и Stop Time, как они есть в исходной таблице?