2017-11-03 7 views
0

に行からSQLテーブルを変換することができます。私はこのように、このテーブルを変換したいはどのように私は私がMSSQLで、このようなテーブルをした列

:私は素晴らしいものだすべての行に対してこの操作を行うことができる場合

をそう私はLOGIDを持つテーブルをフィルタリングして幸せ(mytableはmのm.LogIdから*を選択= 240)

RowId | LogID | ColName | ColValue 
    1 | 240 | LogID | 240 
    2 | 240 | BatchID | abc-def 
    3 | 240 | Type | Error 

私はPIVOTについて読んでいますが、このシナリオでどのように使用できるのか分かりません。 可能であれば、他の種類のソリューションに満足しています。

ありがとう、 Hakoo。

答えて

2

一つの方法は...適用良い解決策のためのDEMO HERE

select 
row_number() over 
(partition by logid order by logid) as rownum, 
logid,col1,col2 from #t t 
    cross apply 
    (
    values 
    ('logid',cast(logid as varchar(30))), 
    ('batchid',batchid), 
    ('typee',typee) 
    )b(col1,col2) 
+0

感謝を使用することです。魅力のように動作します:) –

+0

DDL、DMLをデモリンクのように含めることができ、あなたが試みたクエリもDDLを含めることができれば、より速い応答を得ることができます。 – TheGameiswar

+1

確かに、私はそれを覚えています。ありがとう。 –

関連する問題