2017-03-01 3 views
-1

私はsqlのテーブルを持っていますfieldColumnNameを列として、fieldValueを行として変更します。 これはSQLの行に行の値を変更

あなたの質問を1としてTable Image

+1

? –

+1

http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-when-asking-a-question/285557と承認された回答 –

+2

'pivot'でタグ付けしたので、あなたは何をしたいの技術的な名前を知っています。だから私はあなたがそれを行う方法をオンラインで検索したが、それを動作させることができなかったと仮定します。あなたは何を試してみることができますか? – HoneyBadger

答えて

0

は、あなたがあなたのようにデータ型を変更する上記のクエリで

ALTER TABLE tablename 
    CHANGE `fieldColumnName` `column` VARCHAR(255), 
    CHANGE `fieldValue` `row` VARCHAR(255) 

(データ型としてだけでなく、変更列名)テーブルを変更したい私のテーブルの画像です願い。

+0

それは彼が求めているものではありません。もう一度お読みください。 –

0

あなたはfieldColumnName列のすべての可能な値を知っているなら、あなたはこのようにピボットを使用することができます。DBMSは、使用している

declare @data table(fieldValue varchar(50), fieldColumnName varchar(50)) 

INSERT INTO @data 
SELECT '1 - value', 'col1' 
UNION 
SELECT '2 - value', 'col2' 
UNION 
SELECT NULL, 'col6' 

select * 
from @data 

select col1, col2, col3 
from 
(
    select fieldValue, fieldColumnName 
    from @data 
) d 
pivot 
(
    max(fieldValue) 
    for fieldColumnName in (col1, col2, col3) 
) piv; 
関連する問題