Мне нужно повернуть таблицу в mysql, и я моделирую ее на Таблица PIvoting вокруг столбца даты в 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);
Это дает мне запрос ОК, затронуто 0 строк. Как мне настроить запрос, чтобы получить желаемый результат?
Для поворота в MySQL обычно требуется пункт GROUP BY.
Спасибо, Бармар, исправил кавычки и перевел их в верхний регистр, и он работал без ошибок, получил запрос ОК, затронуто 0 строк.
Создание представления не влияет на какие-либо строки, поэтому ожидаемым результатом является 0 rows affected.
Вы уверены, что не хотите делать это в коде приложения?






Давайте поговорим о «самосоединении» вместо «поворота».
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';
Совершенно верно. К сожалению, хотя моя таблица больше, чем эта, мне нужно будет выяснить, как использовать самосоединение с еще несколькими строками, которые должны стать столбцами.
В вашем запросе есть фигурные кавычки, вам нужно использовать обычные одинарные кавычки.