Почему мои значения отображаются как NULL при повороте таблицы в MySQL - PullRequest
0 голосов
/ 12 июня 2018

Я использую 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, как они есть в исходной таблице?

...