簡體   English   中英

帶表達式的SQL選擇列

[英]SQL select column with expression

我需要做一個SELECT

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

我該怎么做呢?

謝謝

SELECT  col1,col2, colA = 
  CASE @per
     WHEN 1 THEN (col00+col01) 
     WHEN 2 THEN (col00+col01+col02) 
     WHEN 3 THEN (col00+col01+col02+col03) 
     ELSE 0
  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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM