テーブルの1行を転置したい。カラム名のカラム値を変数として取得する
たとえば、「ID」、「名字」、「姓」、「年齢」を属性として持つ「Persons」テーブルがある場合、「Persons」テーブルの行の転置を次のようにしたい2列:
Column_nameの、COLUMN_VALUE
私が使用して、テーブルのカラム名を取得することができます。
select attributes.`COLUMN_NAME`, person.attributes.`COLUMN_NAME` as `Column_Value`
from (select * from Persons where ID=1) as person,
(SELECT * FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='databasename' and `TABLE_NAME`='tablename');
:
SELECT *
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='databasename'
AND `TABLE_NAME`='tablename';
私が使用して列名の値を取得しようとしました
ただし、2番目のパラメータは値の代わりに列名を指定しています。
この問題を解決する方法。
列名をしたい場合は、パラメータとしてIDを渡すことができますが、データではなく、それがデータにそれらを作るのは難しいです。しかし、右側の関連する質問はあなたにヒントを与えるかもしれません。通常、データベース側でこれを行う良い理由はありませんが、フロントエンド/コード側で行うほうが便利です。 – Jakumi