为什么在MySQL中数据透视表时我的值显示为NULL
我正在使用和本教程来帮助我旋转一个表,它运行得非常好。从这一点开始:为什么在MySQL中数据透视表时我的值显示为NULL,mysql,pivot-table,Mysql,Pivot Table,我正在使用和本教程来帮助我旋转一个表,它运行得非常好。从这一点开始: 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
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);
这将创建与目标表完全相同的列。但是现在除了mediaid之外的所有值都呈现为NULL。我的问题是,为什么它们会被NULL替换,我可以使用什么来代替SUM来呈现原始表中的Expiration和CVV Start和Stop Time值 你能用一些示例数据和查询创建一个链接吗?不幸的是,你的链接似乎不完整。应该是。。。但那不是一把有效的小提琴。