sql中的sclar-valued函数

问题描述:

select Pending = PD.Qty - (select sum(GRND.Qty) 
from tbl_GRN GRN inner join tbl_GRND GRND on 
GRN.grnId = GRND.grnId where GRN.pivID=PD.pivID and GRND.prodId=PD.prodId) 
from tbl_PD PD where PD.pivId=10609 

Hai,我们正在开发一个库存维护项目。 以上是我使用的查询来获取产品的待处理数量的查询。该查询提供了所需的结果。但PD.Qty和GRND.Qty可能有不同的规模(单位)。所以我们正在使用转换比例的矢量函数ConvertScale。其参数为ConvertScale(@Qty, @InputScale, @OutputScale),并返回OutputScale中的值。sql中的sclar-valued函数

里添加

ConvertScale(@GRND.Qty, @GRND.ScaleID, @PD.ScaleID) 

请告诉我修改查询进行。

+1

标记你正在使用的dbms。 (该代码是特定于产品的。) – jarlh

+0

您正在使用哪个[DBMS](https://en.wikipedia.org/wiki/DBMS)? Postgres的?甲骨文? –

请勿使用@前缀列。我猜你是在查询后

select Pending = PD.Qty - 
    (select sum(ConvertScale(GRND.Qty, GRND.ScaleID, PD.ScaleID)) 
    from tbl_GRN GRN 
    inner join tbl_GRND GRND on GRN.grnId = GRND.grnId 
    where GRN.pivID=PD.pivID and GRND.prodId=PD.prodId) 
from tbl_PD PD where PD.pivId=10609