如何创建将结果显示在列而不是行中的查询

时间:2017-10-04 13:21:44

标签: sql tsql

我想获取一个Query来从表中选择一些行,但我想要显示的结果不是在行上而是在列上。

例如:

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

可以这样做吗?

1 个答案:

答案 0 :(得分: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];