2017-05-03 14 views
0

私は最初のフィールドとしてIDを持つテーブルと、説明フィールドを持つ他のフィールドを持っています。例えば。結果の列名と値を取得するクエリ?

id | color | length | year | land | name 
--------------------------------------------------- 
3 | blue | long | 1988 | Netherlands | Jan 
4 | yellow | short ..etc. 
私は、すべての行で、以下のフィールドを持つ新しいテーブルを作成したいと思い

:ID、(私の最初のテーブルから)フィールド名、そのフィールドの値。だからこのように:

3 | color | blue 
3 | length | long 
3 | year | 1988 
3 | land | Netherlands 
3 | name | Jan 
4 | color | yellow 
4 | length | short 
etc. 

誰もこのクエリを行う方法を知っていますか? (または、そうでない場合は、PHPスクリプトで?)

おかげで、よろしく、アリ

+0

です。列の数は固定されており、事前にわかっていますか? –

答えて

0

まず、あなたがやりたい互換性のあるデータ型を必要としています。これは通常、文字列になります。

次に、いくつかの方法でこれを行うことができます。おそらくMySQLで最も簡単なのはunion all

select id, 'color' as which, color from t union all 
select id, 'length' as which, cast(length as char) from t union all 
. . . 
関連する問題