2017-10-04 1 views
0

テーブルから一部の行を選択するクエリを取得したいが、行にではなく列に結果を表示したい。結果を列ではなく列に表示するクエリを作成する方法

したがって、たとえば:

if(id = 150) 
    name of column is 'PARAMETER1' 
else if(id = 151) 
    name of column is 'PARAMETER2' 
else if(id = 152) 
    name of column is 'PARAMETER3' 

だから、クエリの結果

SELECT V.IDPARAMETER AS ID, V.VALUE AS VALUE 
FROM AA_V_RESULTS V 
WHERE V.ID = ? 

このクエリの結果は

ID VALUE 
150 177 
151 IN THE NORM 
152 OK 

今、私は結果がこれであることをしたいですis

PARAMETER1 PARAMETER2 PARAMETER3 
177  IN THE NORM OK 

これは可能ですか?

+0

の可能性のある重複した[SQL Serverの動的なPIVOTクエリ?](https://stackoverflow.com/questions/10404348/sql-server-dynamic-pivot-query) – iamdave

答えて

1

CASEという表現を使用できます。

クエリ

select 
    max(case [ID] when 150 then [VALUE] end) as [Parameter1], 
    max(case [ID] when 151 then [VALUE] end) as [Parameter2], 
    max(case [ID] when 152 then [VALUE] end) as [Parameter3] 
from [your_table_name]; 
関連する問題