MySQL select Spalte name als Feld
Ich habe eine mysql Tabelle, die so aussieht:
id | col_1 | col_2 | col_3
--- | ------- | ------- | ------
1 | 2 | 34 | 64
2 | 6 | 53 | 23
Ich würde gerne in der Lage sein, um die Abfrage auf die id und Holen Sie mehrere Zeilen, eine für jede Spalte. E. g:
SELECT column_name as column, column_value as value FROM my_table WHERE id=1;
Die mir geben würde:
column | value
------- | -------
col_1 | 2
col_2 | 34
col_3 | 64
Was würde ich formulieren einer Abfrage wie dieser?
Vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese nennt man pivot. Eigentlich ist es ein reverse pivot. Hier finden Sie einige Hintergrundinformationen. http://www.artfulsoftware.com/infotree/queries.php#78
MySQL tut es auf die harte Art und Weise. Es ist ein Schmerz im Nacken. Viele Menschen, die nicht viel von dieser Art von Arbeit in die MySQL-Programme zu generieren, die diese Abfragen.
Könnte man es so machen, das wird zu dir zurückkehren 2 Komma getrennt zuerst eine der Spalten, die zweite die Werte, die Sie kann explodieren und verschmelzen in SCHLÜSSEL/WERT-arrays in PHP.