如何使用模型在mysql中透视表

时间:2018-06-08 23:03:55

标签: mysql pivot-table

我需要在mysql中透视表并在PIvoting table around date column in 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);

这给了我查询OK,0行受影响。如何调整查询以获得我想要的结果?

1 个答案:

答案 0 :(得分:1)

让我们谈谈“自我加入”而不是“枢纽”。

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';