Как повернуть таблицу в MySQL, используя модель - PullRequest
0 голосов
/ 09 июня 2018

Мне нужно повернуть таблицу в mysql, и я моделирую ее на PIvoting table вокруг столбца даты в Mysql , что является почти идеальным примером того, что мне нужно сделать.Но я не получаю результата, когда запускаю его и не вижу, что делаю неправильно.Моя таблица выглядит следующим образом:

mediaID q_short_name start_time stop_time audio_file
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 CVVstart_T CVVstop_T Exp_start_time Exp_stop_time audio_file
ee      208      210      308            310            j.mp3
ff      124      127      166            169            k.mp3

, поэтому я попробовал это в качестве первого шага:

Create view my_test_extended as (select my_test.mediaID, case when 
q_short_name = 'CVV Number' then my_test.start_time end as CVVstart_T 
from my_test);

Это дает мне Query OK, затронуто 0 строк.Как настроить запрос, чтобы получить желаемый результат?

1 Ответ

0 голосов
/ 10 июня 2018

Давайте поговорим о «самосоединении» вместо «центра».

SELECT  c.mediaID,
        c.start_time AS CVVstart,
        c.end_time   AS CVVstop,
        e.start_time AS ExpStart,
        e.stop_time AS ExpStop,
        c.audio_file
    FROM  my_test AS c
    JOIN  my_test AS e  USING(mediaID)
    WHERE  c.q_short_name = 'CVV Number'
      AND  e.q_short_name = 'Expiration Date';
...