Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何创建将结果显示为列而不是行的查询_Sql_Tsql - Fatal编程技术网

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

Sql 如何创建将结果显示为列而不是行的查询,sql,tsql,Sql,Tsql,我想得到一个查询,从表中选择一些行,但我不想在行上显示结果,而是在列上显示结果 例如: 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 = 15

我想得到一个查询,从表中选择一些行,但我不想在行上显示结果,而是在列上显示结果

例如:

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

可以这样做吗?

您可以使用
大小写
表达式

查询

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];
可能重复的