Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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 Server列_Sql_Sql Server - Fatal编程技术网

SQL Server列

SQL Server列,sql,sql-server,Sql,Sql Server,我有一个表ClassificationCode,它有列: CodeName和我拥有的代码的大陆名称 CodeType及其代码类型从1到5,每个数字都引用代码名 当我使用where条件来指定它的名称时 Select code name from classification code where code type = 2 ; 我的问题是,如果我可以重复代码名在不同的条件下像这样 Select code name, code name as 2, code name as 3

我有一个表
ClassificationCode
,它有列:

  • CodeName
    和我拥有的代码的大陆名称
  • CodeType
    及其代码类型从1到5,每个数字都引用代码名
当我使用where条件来指定它的名称时

Select code name 
from classification code 
where code type = 2 ;
我的问题是,如果我可以重复代码名在不同的条件下像这样

Select 
    code name, code name as 2, code name as 3 
from 
    classification code 
where 
    code type = 2  And code type = 3 and code type=4...

如果我对你的问题理解正确,你有两个选择。首先,如果需要多行,请在中使用
(这相当于
而不是
):


或者,如果您试图将结果透视到一行中,这里有一个使用条件聚合的选项:

select max(case when code_type = 2 then code_name end) code_name_1,
       max(case when code_type = 3 then code_name end) code_name_2,
       max(case when code_type = 4 then code_name end) code_name_3
from classification_code
where code_type in (2,3,4)

你想完成什么?你在这里的意思一点也不清楚。这将是一个很好的起点。使用deffrent datashow us样本数据和预期输出查询选择代码名三次以上。
从[classification code]中选择[code name],其中(2,3,4)
中的[code type]将返回3行。这是你需要的吗?
select max(case when code_type = 2 then code_name end) code_name_1,
       max(case when code_type = 3 then code_name end) code_name_2,
       max(case when code_type = 4 then code_name end) code_name_3
from classification_code
where code_type in (2,3,4)