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

SQL选择包含表达式的列

SQL选择包含表达式的列,sql,Sql,我需要做一个选择,比如: Select col1, col2, (expression) as colA from tablex , 但是表达式取决于外部变量@per,因此,select类似于: SELECT col1, col2, case @per = 1 then (col00 + col01) as colA @per = 2 then (col00 + col01 + col02) as colA @p

我需要做一个
选择
,比如:

Select 
   col1, col2, (expression) as colA 
from tablex ,  
但是表达式取决于外部变量
@per
,因此,select类似于:

SELECT 
    col1, col2,
    case 
        @per = 1 then (col00 + col01) as colA
        @per = 2 then (col00 + col01 + col02) as colA
        @per = 3 then (col00 + col01 + col02 + col03) as colA
    end 
FROM tableX
我该怎么做


谢谢

这是假设您正在使用T-SQL的代码:

SELECT col1,col2,
    case 
        WHEN @per =1 then (col00+col01) 
        WHEN @per =2 then (col00+col01+col02)
        WHEN @per =3 then (col00+col01+col02+col03)
    end as colA
FROM tableX

这是假设您正在使用T-SQL的代码:

SELECT col1,col2,
    case 
        WHEN @per =1 then (col00+col01) 
        WHEN @per =2 then (col00+col01+col02)
        WHEN @per =3 then (col00+col01+col02+col03)
    end as colA
FROM tableX

col1、col2、col00、col01、col02和col03属于表格X您的编程语言是什么?col1、col2、col00、col01、col02和col03属于表格X您的编程语言是什么?