Sachin11089 Ответов: 1

Как использовать PIVOT в mysql


Привет,
Я пытаюсь использовать Pivot в mysql.Но не удалось добиться, может ли кто-нибудь мне помочь. Ниже приведена структура моей таблицы.

ID	QID	Value
1	10	abc@abc.com
1	11	1234567890
2	10	abc@abc.com
2	11	1234567890
3	10	abc@abc.com
3	11	1234567890
4	10	abc@abc.com
4	11	1234567890
6	10	abc@abc.com
6	11	1234567890
7	10	abc@abc.com
7	11	1234567890
8	10	abc@abc.com
8	11	1234567890
9	10	abc@abc.com
9	11	1234567890
11	10	abc@abc.com
11	11	1234567890


Я попытался достичь этого, используя следующую строку кода, но это не дает мне фактического результата, который ожидается.

Select FEEDBACKID,
max(case when QuestionId=10 then Option_Value  when QuestionId=11 then Option_Value end ) AS Email,
max(case when QuestionId=10 then Option_Value  when QuestionId=11 then Option_Value end ) AS Contact
FROM
PivotTable p

GROUP BY
FEEDBACKID ;


Что я уже пробовал:

Привет ,

Я перепробовал много способов добиться этого, но не смог добиться результата.
Так что, пожалуйста, помогите мне .

Заранее спасибо.

Maciej Los

Какого результата вы хотите добиться?

1 Ответов

Рейтинг:
2

Maciej Los

Я бы настоятельно рекомендовал прочитать это: MySQL - основы сводной таблицы: строки в столбцы[^]

Попробовать это:

SELECT 
  FEEDBACKID, 
  GROUP_CONCAT(if(QuestionId= 10, Option_Value, NULL)) AS 'Email',
  GROUP_CONCAT(if(QuestionId = 11, Option_Value, NULL)) AS 'Contact'
FROM tbl
GROUP BY FEEDBACKID;