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

自定义函数 赋值到临时变量的问题. Help
SELECT  
            dbo.FN_TypeValue( 'a ',id)   AS   a
,   dbo.FN_TypeValue( 'b ',   id)   AS   b
,   dbo.FN_TypeValue( 'a ',id)*dbo.FN_TypeValue( 'b ',   id)
FROM   DirReps
------------------------------------
上面这样写没有错..但是第三列的值是前面列已经计算出来的...怎样直接取前两列的值
下面的是错误的.
declare   @aa   float
declare   @bb   float

SELECT  
          @aa=   dbo.FN_TypeValue( 'a ',id)   AS   a
,@bb   =   dbo.FN_TypeValue( 'b ',   id)   AS   b
,   @aa*@bb   as   c
FROM   DirReps

------解决方案--------------------
SELECT
dbo.FN_TypeValue( 'a ',id) AS a
, dbo.FN_TypeValue( 'b ', id) AS b
, dbo.FN_TypeValue( 'a ',id)*dbo.FN_TypeValue( 'b ', id)
FROM DirReps
------------------------------------
上面这样写没有错..但是第三列的值是前面列已经计算出来的...怎样直接取前两列的值

================================

只能这么写