--这样的一条select 语句,mssql是怎么处理的?select
GetStylePrice(StyleID) as unitprice,
sum(qty) as qty,
GetStylePrice(StyleID) * sum(qty) as [cost]
from style/*
GetStylePrice(StyleID) 为一函数,参数为style.style_id返回单价,sum(qty)为总数量,unitprice * sum(qty) 为总价钱.
问题:当计算 sum(qty)时,sql已经运算了一次求和,但是当在计算总价钱cost时,sql 是不是又运算了一次sum(qty)?
同理,得到unitprice时,调用了一次GetStylePrice(StyleID),那么在计算cost时,是不是又调用了一次GetStylePrice(StyleID)??如果是这样,那么,这种运算不就是很那个不好吗?
如果sql真是这样作运算的话,有什么方法可以避免呢?*/
GetStylePrice(StyleID) as unitprice,
sum(qty) as qty,
GetStylePrice(StyleID) * sum(qty) as [cost]
from style/*
GetStylePrice(StyleID) 为一函数,参数为style.style_id返回单价,sum(qty)为总数量,unitprice * sum(qty) 为总价钱.
问题:当计算 sum(qty)时,sql已经运算了一次求和,但是当在计算总价钱cost时,sql 是不是又运算了一次sum(qty)?
同理,得到unitprice时,调用了一次GetStylePrice(StyleID),那么在计算cost时,是不是又调用了一次GetStylePrice(StyleID)??如果是这样,那么,这种运算不就是很那个不好吗?
如果sql真是这样作运算的话,有什么方法可以避免呢?*/
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货