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.