MySQL строка в столбец

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

Г. Е.

Данные Строки:

+-----------+----------+
| colHeader | value    |
+-----------+----------+
| Header1   | value 1  |
+-----------+----------+
| Header2   | value 2  |
+-----------+----------+
| Header3   | value 3  |
+-----------+----------+

выход:

+-----------+-----------+-----------+
| Header1   | header2   | Header3   |
+-----------+-----------+-----------+
| Value 1   | value 2   | Value 3   |
+-----------+-----------+-----------+

это возможно??

вот мой скрипт MySQL. Я не думаю, что это правильный путь. Есть ли идея о том, как я могу прибыть на вышеуказанный выход?

SELECT t1.value AS `Header1`,
       t2.value AS `Header2`,
       t3.value AS `Header3`
  FROM (SELECT * FROM table1 WHERE colHeader='Header1') t1
  JOIN (SELECT * FROM table1 WHERE colHeader='Header2'3) t2
  JOIN (SELECT * FROM table1 WHERE colHeader='Header3') t3;

1 ответов


Как насчет этого??

SELECT  
  GROUP_CONCAT(if(colHeader = 'Header 1', value, NULL)) AS 'Header 1', 
  GROUP_CONCAT(if(colHeader = 'Header 2', value, NULL)) AS 'Header 2', 
  GROUP_CONCAT(if(colHeader = 'Header 3', value, NULL)) AS 'Header 3' 
FROM myTable; 

демо

Примечание, вам понадобится GROUP BY оператор, когда есть больше данных идентификаторов, как показано ниже в демо 2.

демо 2