日期:2014-05-18  浏览次数:20541 次

存储过程的变量问题
现有一存储过程,部分内容如下:
SELECT   ……,a.shu   AS   使用量,   (a.b之总计-(case   when   a.T   is   not   null   then   a.T   else   0   end))   AS   合格量,     [合格量]/[使用量]   AS   良品率…………
from   a
"[合格量]/[使用量]   AS   良品率 "会出错,我的意思是想用两个变量分别代替[合格量]和[使用量]这两个新建字段,以便可以调用它来组建其它字段,不用每次都要写 "(a.b之总计-(case   when   a.T   is   not   null   then   a.T   else   0   end)) "之类的东东,可以吗?我试过定义变量总说出错的。另:[合格量]和[使用量]都是数值来的.

------解决方案--------------------
可以改為使用子查詢

SELECT *, [合格量]/[使用量] AS 良品率 From (
SELECT
……,
a.shu AS 使用量, (a.b之总计-(case when a.T is not null then a.T else 0 end)) AS 合格量, …………
from a) T
------解决方案--------------------
select ……,使用量,[合格量]/[使用量] AS 良品率…………
(
SELECT ……,a.shu AS 使用量, (a.b之总计-(case when a.T is not null then a.T else 0 end)) AS 合格量
from a
)aa