2017-10-04 28 views
0

我想查詢來從表中選擇一些行,但我想說明不是行,但在列的結果。如何創建一個查詢,顯示結果爲列,而不是行

因此,例如:

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 

現在我想的是,結果是這樣的:

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' 

所以查詢結果是

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]; 
相關問題